* 说明 (3)通常来说,重载后的运算符的功能与原有功能应类似,这样符合人们的使用习惯,不易引起混乱。例如,不要通过重载“+”运算符来实现乘法的功能。 (4)运算符重载不能改变其原有操作数的个数。 (5)运算符重载不能改变运算符原有的优先级和结合特性。 (6)运算符重载函数的参数中至少有一个应是类(结构体)对象或类(结构体)对象的引用,而不能都是基本数据类型。 * 4.2 虚函数 前面介绍过的函数重载和运算符重载,都属于编译时的多态性(静态多态性),即系统在编译时确定调用哪一个函数。 而通过虚函数,可以实现另一种多态性—运行时的多态性。运行时的多态性是指程序在运行时决定调用哪一个函数。 * 4.2.1 虚函数的引入 【例4-6】 通过基类指针调用类的同名函数。 本例定义了CPerson类、CStudent类和CGraStudent类,在这三个类中定义了同名函数PrintInfo,用于进行相关信息的输出。其中CPerson类是CStudent类的基类,CStudent类是CGraStudent类的基类。 * #include iostream using namespace std; class CDate { int m_nYear; int m_nMonth; int m_nDay; public: CDate(int nYear, int nMont
原创力文档

文档评论(0)