传奇再现全文免费阅读:c++一般性问题

来源:百度文库 编辑:高校问答 时间:2024/03/29 10:31:50
怎么执行不了?请高手指教...
#include <iostream.h>
class A
{ public:
void f() {cout<<1<<endl;}; };
class B:virtual public A
{public:
void f() {cout<<2<<endl;
}; };
class C:public B
{public:
void e() {cout<<3<<endl;}; };
class D:public C,virtual public A
{public:
void g() {cout<<4<<endl; f();
};

void main()
{ D d;
d.f();}

函数定义的结尾花括号是不用分号的!!!
比如A的f函数!
只有类定义结尾才有,他是通过struct"进化"来得,所以有分号.
语法错误,当然执行不了!

相信这是一个类继承问题吧!

回去看一看类的类继承定义和纯虚函数!

class B:virtual public A 这是虚继函!
以virtual 继承 A , A中的所有函数必须是纯虚函数!

class D的成员方法g()少了个括号?