主要介绍了类的继承、虚函数、类继承的动态内存分配问题、继承与友元函数。
1 |
|
派生类的析构函数
可在派生类中使用基类名作为限定符调用同名的基类函数。
1 | void Point::show() |
如果基类中的函数有多个重载,则继承过来的时候不能只重新定义一个版本的,则会导致另外的会被隐藏。
1 | class |
可以创建指向基类的指针数组,那么这个数组既可以指向基类,也可以指向派生类。
1 | int main() { |
注意:基类需要声明一个虚析构函数,这样做是为了保证在释放对象时,可以调用相应对象类型的析构函数。
1 | class |
使用纯虚函数提供未实现的函数 – 在声明的结尾处加 =0
1 | class { |
包含纯虚函数的类只用作基类 ,不能实例化 , 但是能声明(但不初始化)指针。
如果基类使用了动态内存分配 – 即在构造中使用new分配空间
如果此时派生类中没有使用new分配的内存
如果子类使用new分配的内存
1 | Point::Point(const Point &a):Base(a) |
必须为子类重载赋值运算符。
1 | String& String::operator=(const String& s) { |
原文:https://www.cnblogs.com/lijianming180/p/12286243.html