[求助]一个初学C++的问题啊
下面的程序中,哪句语句是错误的?
class A{
int i;
public:
virtual void fun()=0;
A(int a){i=a;}
};
class B{
int j;
public:
void fun(){cout<<”B::fun()\n”;}
B(int b,int c):A(b){j=c;}
};
void main()
{
A.A a(5);
B.A *pa;
C.B b(7);
D.B *pb;
}
下面的程序中,哪句语句是错误的?
class A{
int i;
public:
virtual void fun()=0;
A(int a){i=a;}
};
class B{
int j;
public:
void fun(){cout<<”B::fun()\n”;}
B(int b,int c):A(b){j=c;}
};
void main()
{
A.A a(5);
B.A *pa;
C.B b(7);
D.B *pb;
}
谢谢!
[此贴子已经被作者于2005-11-22 15:16:02编辑过]
请问具体应该修改哪一句呢?
virtual void fun()=0;这个是将函数定义为一个虚函数,但是B里要用到A,那样是不行的吧,要是要用到A,要不就让B继承A,或者让B将A定义为友元函数才行吧,还有就是你的C和D都是没有事先定义的,你这个程序应该是不完整的吧