您的位置:首页 > 编程语言 > C语言/C++

C++入门进阶之6: 多态性

2012-09-26 00:06 218 查看
1. 多态是指同样的消息被不同类型的对象接收时导致不同的行为,消息是指对类的成员函数的调用。

2. 多态的类型: 重载多态,强制多态,包含多态和参数多态。

3.多态的实现: 分为编译时的多态和运行时的多态

4. 运算符重载:对已有的运算符赋予多重含义,使得同一个运算符作用于不同类型数据时,导致不同的行为。

5. 运算符重载的规则: a. 除了少数几个外,其他的C++中已有的运算符都可以重载

b. 重载之后的运算符和优先级保持不变

c. 运算符的重载是针对新类型的数据实际需要,对原有运算符进行适当的改造。

6. 运算符重载两种形式:重载为类的成员函数和重载为类的友元函数。

函数类型 operator 运算符(形参表)





7. 虚函数: 虚函数是动态绑定的基础。必须是非静态成员函数,经过派生之后,在类族中就可以实现运行过程中的多态。

8. 虚函数成员:只能出现在类声明中的函数原型声明中。

9.虚析构函数: 在C++中,不能声明虚构造函数,但是可以声明虚析构函数。 如果一个类的析构函数是虚函数,那么由它派生而来的所有子类的析构函数也是虚函数。

析构函数设置为虚函数后,在使用指针引用时,可以动态绑定,实现运行时的多态,保证基类类型的指针就能够调用适当的析构函数针对不同对象进行清理工作。

10. 纯虚函数: 纯虚函数是一个在基类中声明的虚函数,它在该基类中没有定义具体的操作内容,要求各派生类根据实际需要定义自己的版本。

格式为: virtual 函数类型 函数名(参数表)= 0;

声明为纯虚函数后,基类中就不再给出函数的实现部分。

11. 抽象类 : 带有纯虚函数的类就是抽象类。 抽象类不能被实例化。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: