在c++中,继承的概念可以理解为c中得嵌套结构体,对于各种函数,类中的成员函数,类中的友元函数,各种继承的虚拟函数,只要从编译器的角度去理解
就会变得简单。例如下例:
class D{
public:
int func_D();
int v_func_DD();
};
class D1 : public D{
public:
int func_D1();
virtual int v_func_DD();
};
class D2 : public D1{
public:
int func_D2();
int v_func_DD();
int d1;
};
//....
函数的具体实现略
//....
int main(int argc, char **argv){
D2 dd2;
D *d_ptr;
D1 *d1_ptr;
D2 *d2_ptr;
d_ptr = &dd2;
d1_ptr = &dd2;
d2_ptr = &dd2;
d_ptr->v_func_DD();//①
d1_ptr->v_func_DD();//②
d1_ptr->func_D2();//③
d2_ptr->func_D2();//④
return 0;
}
在主函