我对C++中继承的理解

来源:互联网 发布:北京网络布线收费标准 编辑:程序博客网 时间:2024/05/03 06:26

 我们先举个例子:

class A
{
public:
 fun(){printf("A fun/n");}
 virtual fun1(){printf("A fun1");}
};

class B : public A
{
public:
 fun(){printf("B fun/n");}
 fun1(){printf("B fun1");}
};
void main()                         /*程序输出结果:   */
{

 A a;
 B b;
 A* p = &a;
 p->fun();                 /*A fun   */
 p->fun1();            /*A fun1   */
 p = &b;
 p->fun();            /*A fun   */
 p->fun1();            /*B fun1   */

}

可以看出virtual 声明的函数可以被子类的同名函数替换,此时基类的函数只是提供一个声明,函数的实体是子类中的函数。

原创粉丝点击