4.8 函数重载和运算符重载
函数重载和运算符重载可以实现编译时的多态性,从而可以动态地决定程序的动作。函数重载可以使程序设计更加灵活。运算符重载利用运算符函数来实现。
4.8.1 函数重载
派生类可以改写基类的成员函数,从而实现新的功能。这就是函数重载。函数重载后,程序员使用派生类的对象可以访问基类或者是派生类的成员函数。函数重载提高了程序设计的灵活性。
【示例4.24】 函数重载输出不同的内容,实现编译时的多态性。
- #include"iostream.h"
- class A
- {
- public:
- print()
- {
- cout<<"基类输出"<<endl;
- }
- };
- class C:public A
- {
- public:
- print()
- {
- cout<<"派生类输出"<<endl;
- }
-
- };
- void main()
- {
- A p1;
- C p2;
- p2.print();
- p1.print();
- p2.A::print();
-
- }
分析:上面的例子对基类的成员函数进行了重载。在派生类中重载了基类的成员函数以后,在派生类访问该函数时调用的就是派生类的函数。这就是所谓的编译时的多态性。C++(www.cppentry.com)在编译时采用改变名字的办法执行函数,即编译后生成新的函数名称。从而可以区分重载后的函数。
【责任编辑:
云霞 TEL:(010)68476606】