7.13 面向对象
来源:互联网 发布:淘宝drjart天猫旗舰店 编辑:程序博客网 时间:2024/06/06 21:04
1.面向对象的基本特征
封装,继承,多态。
高内聚,低耦合。
2.深拷贝和浅拷贝
主要是:浅拷贝只是单纯值的复制,而深拷贝对于指针的拷贝比较谨慎,会单独申请一块内存存储,不会简单把两个指针指向同一个内存地址。
这块可以复习智能指针。
3友元
本质是破坏了封装性的函数,类。可以访问类的私有成员。
注意的是:类与类的友元关系不能继承。调用友元函数时,要在实参中给出相应的对象。友元函数不能访问类的成员,只能访问对象成员。
4.复制构造函数和赋值运算符的区别
构造函数是建一个对象。在初始化前不用检查新建对象和源对象是否相等。
赋值运算符是建立一个对象后进行位复制。需要检查是否相等,还会在赋值时,进行释放内存等操作。
5.构造函数和析构函数不能被派生。
构造函数的顺序:先基类,按基类继承顺序,然后按成员变量的声明顺序,最后自己。
静态成员变量先于实例变量, 父类先于子类。
变量初始化顺序:
1.基类静态变量或全局变量
2.派生类的静态变量或全局变量
3 基类的成员变量
4.派生类的成员变量。
析构顺序相反。
6.初始化列表和在函数体内初始化
在初始化列表使用构造函数直接构造,在函数体内还要再调用赋值操作符函数,推荐在初始化列表。
而且有些const成员必须在定义时初始化。
7.C++空类默认的成员函数
默认构造函数,复制构造函数,析构函数,赋值运算符重载函数,取地址重载函数,const取值运算符重载函数。
如果不想让外界构造A类对象,只想构造A的子类B的对象,把A的构造函数写为protected。
8.public,protected,private
public:权限不变传递给派生类,派生类不可访问基类private成员。
protected:public和protected都在派生类变为protected,private依然不可见。
private:public和protected都变为private在派生类,下一代继承将不可见。
9.C++默认参数的函数
在函数声明时,写参数默认值。
默认参数从右向左。因为传入参数的内存是从低向高,从左往右。
- 7.13 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 图像处理之模板匹配
- selsect 函数(一)
- C++面试
- Linux下python2.7.8的安装
- Android DatePicker 显示问题 可分别隐藏年、月或日
- 7.13 面向对象
- kernel_list讲解
- C语言之算法初步(汉诺塔--递归算法)
- 因为CGRect,CGPoint等不是NSObject的子类,因此不能够直接添加到NSMutableArray中,所以要先将其转换成NSObject的子类。NSValue类可以解决这个问题,见NSVa
- tomcat启动的内存溢出解决
- HDU 1853 Cyclic Tour(二分图最优匹配:有向环覆盖)
- bzoj1237 wikioi2430 [SCOI2008]配对 dp
- A*算法入门
- UVA10391