C++ —— 重载、重写和重定义

1 重载

一般是类内部方法的关系

class MyClass {
public:
    void MyPrint();
    void MyPrint(int cnt);
    void MyPrint(int cnt, const string& msg);
};

2 重写

一般父子类中方法的关系
对父类虚函数进行重载

class MyClass {
public:
    virtual void MyPrint();
};

class MyClassC : public MyClass {
public:
    void MyPrint(); // 重写MyClass::MyPrint
};

3 重定义

一般父子类中方法的关系

class MyClass {
public:
    void MyPrint();
};

class MyClassC : public MyClass {
public:
    void MyPrint(); // 重定义MyClass::MyPrint
};

C++最特殊的oop特性

重定义父类所有的方法名相同的方法,而其他oop语言不一样

class MyClass {
public:
    void MyPrint();
    void MyPrint(int cnt);
    void MyPrint(int cnt, const string& msg);
};

class MyClassC : public MyClass {
public:
    void MyPrint(); // 重定义所有MyClass::MyPrint
};


posted @ 2023-04-16 18:24  今天学点啥?  阅读(161)  评论(0)    收藏  举报