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
};