下面的程序中,哪句语句是错误的?
class A{
int i;
public:
virtual void fun()=0;
A(int a){i=a;}
};
class B{
int j;
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编辑过]
请问具体应该修改哪一句呢?
晕人家说的很清楚了定义类b的时候 应该是 class B:public A{.......}这样b和a才扯的上关系
virtual void fun()=0;这个是将函数定义为一个虚函数,但是B里要用到A,那样是不行的吧,要是要用到A,要不就让B继承A,或者让B将A定义为友元函数才行吧,还有就是你的C和D都是没有事先定义的,你这个程序应该是不完整的吧