【发布时间】:2019-11-20 00:24:04
【问题描述】:
我正在阅读 Stroustrup 的 C++ 编程书中的一段代码。
class Vector_container : public Container {
Vector v;
public:
// Vector_container implements Container
Vector_container(int s) : v(s) { } // Vector of s elements
~Vector_container() {}
double& operator[](int i) { return v[i]; }
int size() const { return v.size(); }
};
作者接着说
- 析构函数 (
~Vector_container()) 覆盖基类析构函数 (~Container())。- 请注意,成员析构函数 (
~Vector()) 由其类的析构函数 (~Vector_container()) 隐式调用。
关于#1,为什么在不同名称的函数中会发生覆盖?
关于#2,类的析构函数系统地调用成员析构函数是C++的一个特性吗?
【问题讨论】:
标签: c++ inheritance destructor