正在加载图片...
【例7.2】虚函数的使用方法 void main(void) #include <iostream.h> struct A{ C c; virtual void f1(){cout<<"A::fl\n"; virtual void f2(){cout<<"A::f2\n"; A*p=(A*)&c; virtual void f3(){cout<<"A:f3\n"; p->f1(); /调用B:f1() virtual void f40){cout<<"A::f4\n"; p->f2(); /调用B:f2() p->f3(); /调用A:f3() class B:Af p->f4); /调用C:f4() virtual void fl() irtual可省略 p->A:f2();1/调用A:f2() cout<<"B::flln";} void f2() /2自动成为虚函数 输出: B::f1 { cout<<"B::f2\n";} 语法检查静 ; B::f2 态进行,考 class C:B A::f3 虑(对否): void f4() /f4自动成为虚函数 C::f4 c.f1();/? { cout<<"C::f4\n";} A::f2 c.f2();1/? Return说明2 1010 【 例7.2 】虚函数的使用方法 虚函数的使用方法 #include <iostream.h> struct A{ virtual void f1( ){ cout<<"A::f1\n"; } virtual void f2( ){ cout<<"A::f2\n"; } virtual void f3( ){ cout<<"A::f3\n"; } virtual void f4( ){ cout<<"A::f4\n"; } }; class B: A{ virtual void f1( ) //virtual可省略 { cout<<"B::f1\n"; } void f2( ) //f2自动成为虚函数 { cout<<"B::f2\n"; } }; class C: B{ void f4( ) //f4自动成为虚函数 { cout<<"C::f4\n"; } }; void main(void) { C c; A *p=(A *)&c; p->f1( ); p->f2( ); p->f3( ); p->f4( ); p->A::f2( ); } //调用B::f1( ) //调用B::f2( ) //调用A::f3( ) //调用C::f4( ) //调用A::f2( ) 输出:B::f1 B::f2 A::f3 C::f4 A::f2 Return说明 2 语法检查静 态进行,考 虑 (对否 ): c.f1( ); //? c.f2( ); //?
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有