C++派生类函数的重新定义
C++ Derived class function redefinition
成员函数void readPayInfo((在类BonusEmployee中被重新定义。它现在返回数据成员基本工资的值加上数据成员奖金的值
class Employee
{
public:
//constructors here
void readPayInfo()
{cin >> basePay;}
private:
double basePay;
};
class BonusEmployee : public Employee
{
public:
//constructors here
void readPayInfo()
{cin >> basePay >> bonus;} // NULL!
private:
bonus;
};
如何从父类访问basePay?
由于您选择了将Employee::basePay
设为私有,因此无法从子类直接访问它。我认为你有两个选择:
- 向
Employee
添加getter,或者 - 将
Employee::basePay
的可见性更改为protected
相关文章:
- 在类定义之后定义一个私有方法
- Android Studio:如何在build.gradle中定义自定义宏(针对不同的构建变体),并让原生C / C++
- 如何在C++中为 if 和 else 语句定义新行为
- 如何从 C++ 中的现有模板函数定义新函数
- 如何在CPropertySheet中定义新颜色
- 谁定义新操作员
- boost :: fibonacci_heap:带有比较器重新定义圆形定义错误的嵌套定义
- C 通过Typedef定义新类型
- 在 ss.clear() 之后使用 ss.str( " ") 用于新定义的字符串流
- 是标头文件中使用“新”定义的成员指针泄漏
- 使用带有Eigen库的自定义新处理程序
- 定义新的优化类型
- C# 如何定义新的指针结构
- 为模型定义新角色后程序崩溃
- C++使用类来定义新类型
- 操作员新[]定义分解
- 为什么不调用复制构造函数将临时对象复制到新定义的对象
- Qt:在按钮点击上添加自定义新选项卡
- 定义新的中缀操作符
- 错误:不能在返回类型中定义新类型