首页 > 代码库 > 2017.2.20
2017.2.20
1.类
性质关键字:protected:类和派生类可以使用
内联,重载,常成员函数不能修改,mutable不受不受const成员函数影响。
构造函数:可以重载,没有返回值。内嵌类,被包含先构造,最后被释放,包含的反过来
拷贝构造函数:default和delete用法
1 //delete可以禁用默认生成的函数,禁用构造可以无法实例化 2 //禁用拷贝构造,可以实现禁止别人拷贝你 3 //default默认存在 4 class myclassA 5 { 6 public: 7 //myclassA::myclassA(void)”: 尝试引用已删除的函数 8 // myclassA() = delete;//默认删除构造函数,无法实例化 9 //myclassA() = default;//默认存在 10 //myclassA(const myclassA &) = delete;//拷贝构造函数 11 //myclassA(const myclassA &) = default; 12 //= 13 ~myclassA(); 14 };
深拷贝和浅拷贝
1 string(const string & string1) 2 { 3 //qian 4 //this->p = string1.p; 5 // this->length = string1.length; 6 //shen 7 this->p = new char[string1.length]; 8 this->length = string1.length; 9 memset(this->p, 0, this->length);// 10 strcpy(this->p, string1.p); 11 }
静态成员变量:不能在类中初始化,不属于对象变量,可以不借助实例类对象访问,可以用于计数。
静态成员函数:
2.union共同体大小由其中最大类型的决定,始终只能有一个变量,不能继承,成员都是公有的,不能修改。
内部数据是共享的,对象之间是独立的,代码是共享的。
3.等号和括号的区别
4.explicit 避免类型转换
2017.2.20
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。