在派生类中可以定义与基类数据成员名相同的数据成员吗
可以。在派生类中可以定义与基类数据成员名相同的数据成员,但是这会隐藏基类中的同名数据成员,使其在派生类中不可见。如果需要访问基类中同名的数据成员,可以使用作用域解析运算符"::"来指定基类中的数据成员。例如:
class Base {
public:
int data;
};
class Derived : public Base {
public:
int data; // 在派生类中定义同名的数据成员
void func() {
cout << "Derived data: " << data << endl; // 访问派生类中的数据成员
cout << "Base data: " << Base::data << endl; // 访问基类中的数据成员
}
};
原文地址: https://www.cveoy.top/t/topic/erf6 著作权归作者所有。请勿转载和采集!