第十五章 面向对象编程
2013-07-10 15:33
218 查看
第十五章 面向对象编程
1、定义基类和派生类
1)基类成员函数
保留字virtual只在类内部的成员函数声明中出现
基类将派生类需要重定义的任意函数定义为虚函数
2)多态性
调用虚函数,直到运行时才能确定调用哪个函数
3)覆盖虚函数机制
强制函数调用使用虚函数的特定版本,可以使用作用域操作符
2、构造函数和复制控制
1)派生类构造函数
基类部分由基类的默认构造函数初始化
派生类构造函数的初始化列表只能初始化派生类的成员,不能直接初始化继承成员
2)复制控制
具有指针成员的类一般需要定义自己的复制控制来管理成员
赋值操作必须防止自身赋值
派生类析构函数不负责撤销基类对象的成员,对象的撤销顺序与构造顺序相反
3)虚析构函数
要保证运行适当的析构函数,基类中的析构函数必须为虚函数
构造函数和赋值操作符不是虚函数
3、继承情况下的类作用域
与基类成员同名的派生类成员将屏蔽对基类成员的直接访问
使用作用域操作符访问被屏蔽的基类成员,即使函数原型不同
要获得动态绑定,必须通过基类的引用或指针调用虚函数
4、纯虚函数
在函数形参表后面写上=0以指定纯虚函数
纯虚函数为后代类型提供可以覆盖的接口,用户不能创建基类对象
1、定义基类和派生类
1)基类成员函数
保留字virtual只在类内部的成员函数声明中出现
基类将派生类需要重定义的任意函数定义为虚函数
2)多态性
调用虚函数,直到运行时才能确定调用哪个函数
3)覆盖虚函数机制
强制函数调用使用虚函数的特定版本,可以使用作用域操作符
2、构造函数和复制控制
1)派生类构造函数
基类部分由基类的默认构造函数初始化
派生类构造函数的初始化列表只能初始化派生类的成员,不能直接初始化继承成员
2)复制控制
具有指针成员的类一般需要定义自己的复制控制来管理成员
赋值操作必须防止自身赋值
派生类析构函数不负责撤销基类对象的成员,对象的撤销顺序与构造顺序相反
3)虚析构函数
要保证运行适当的析构函数,基类中的析构函数必须为虚函数
构造函数和赋值操作符不是虚函数
3、继承情况下的类作用域
与基类成员同名的派生类成员将屏蔽对基类成员的直接访问
使用作用域操作符访问被屏蔽的基类成员,即使函数原型不同
要获得动态绑定,必须通过基类的引用或指针调用虚函数
4、纯虚函数
在函数形参表后面写上=0以指定纯虚函数
纯虚函数为后代类型提供可以覆盖的接口,用户不能创建基类对象
相关文章推荐
- C++ Primer 4 第十五章 面向对象编程
- C++ Primer 第十五章 面向对象编程
- 第十五章 面向对象编程
- 第十五章:面向对象编程
- C++ Primer复习和学习笔记 第十五章 面向对象编程
- 第十五章 面向对象编程(一)
- 第十五章 面向对象编程(二)
- C++ Primer 第十五章 面向对象编程
- C++Primer学习笔记第十五章(15/18)类 面向对象编程
- c++Primer,第十五章,面向对象编程
- c++ primer读书笔记-第十五章 面向对象编程
- Java 面向对象编程--第十五章 集合(学习笔记)
- C++ Primer 【第四版】第十五章 面向对象编程
- ExtJS之面向对象编程
- 面向对象编程实例
- 面向对象编程理论知识与思想(oop的思想与原则)
- 面向对象编程6大设计原则:开放封闭责原则
- javascript基础 面向对象编程
- PHP 面向对象编程和设计模式 (1/5) - 抽象类、对象接口、instanceof 和契约式编程
- OOP面向对象编程