在不改变基类头文件的前提下,使用基类成员函数

一:如果想不改变基类头文件,又想使用基类,这时可以看看基类头文件的成员函数的样子:

case1:基类成员函数定义了类外的变量接口,

如 :void read(std::string const& se, std::string const& en, int& value) {}  //value是类外定义的变量接口,

则可以不重新写继承类,而直接使用老类的这个函数,在使用时:

int value = 0; //初始化

(class) config.read(xxxx, xxxx, value);


case2: 继承

1:基类构造函数:需同时定义继承基类和组合基类的构造函数,子类的构造函数最少要定义基类的一个构造函数

如:CB(int a, int b ,int c):CA(a,b),C(c){};

2:继承类成员 可以 和基类成员同名

3:继承类成员函数 可以 和基类成员函数同名(这就涉及到多态)

4:继承类没有重新定义基类函数, 继承类对象可以直接调用基类函数

如:

class A{
public:
 int a;
 A() {a=1; }
 void print(){ printf("%d",a);}
};
class  B:public A{
public:
 int a; //同名成员变量
 B(){a=3;}
};
void main()
{
 B b;
 b.print(); //调用基类print函数
 printf("%d ",b.a);
}

5:继承类的成员函数可以调用基类的public成员函数


参考:
http://zhidao.baidu.com/link?url=hWwiPXSdeWgU-WQEjSfskwIoa3bhezFaMGcfctZWt7NTa2229pAmDdFuiwuaUZjikkcokR8UP9gWpbqIn9H34K5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值