一:如果想不改变基类头文件,又想使用基类,这时可以看看基类头文件的成员函数的样子:
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