首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求教c++中关于类的继承的有关问题

2012-10-14 
求教c++中关于类的继承的问题class Employee//普通职员类{int salarypublic:Employee(int n0) { salary

求教c++中关于类的继承的问题
class Employee//普通职员类
{
  int salary;
public:
  Employee(int n=0) { salary=n; }
  int get_salary() { return salary; }
};
class Manage: public Employee//部门经理类
{
  ```//中间的数据省略了
public:
  ```
  int sum_salary=0;
   
  sum_salary+=get_salary();

//问题是这里要访问到基类Employee中的salary是不是只能用调用get_salary()函数这种方式啊?

//如果是,那么在定义基类的时候就会要考虑继承的问题了,这样不是给软件复用增加麻烦吗?

}

[解决办法]
public:
protected: <--
private:

本来对象划分就是要看具体需求来做,不变的需求根本不需要多思考
你对需求的变化范围把握的越精确,你定义基类和派生类就越容易复用
[解决办法]
因为class中 默认的属性是private的 所以要想访问它就必须用一个方法来访问 
第二个问题 要看实际的开发需求了
[解决办法]
在Manager类里面是可以直接访问salary的,在外部比如main函数里面,因为salary是private,所以不能直接访问,需要有接口
[解决办法]
是的。但是定义基类的时候哪有考虑到派生类,基类只要提供自己的接口操作自己的成员就可以了,它不需要感知派生类,更无须对派生类负责。
[解决办法]
如果想要在派生类成员中访问基类成员,而且不想让用户访问该基类成员,则应该将该基类成员的访问权限设置为projected。

热点排行