这个错误怎么回事?谢谢!!!
#include "iostream.h"
class a{
private:
int m;
public:
a(int pp){m=pp;}
virtual void display(){cout<<"show parent!";}
};
class b:public a{
private:
int n;
public:
b(int qq,int pp):a(pp); //错误!!!
void display(){cout<<"show de!"}
};
b::b(int qq,int pp):a(pp){
n=qq;
}
void main(){
a t1(20);
b t2(10,30);
t1.display();
t2.display ();
}
--------------------Configuration: enl - Win32 Debug--------------------
Compiling...
endl.cpp
endl.cpp(17) : error C2969: syntax error : ';' : expected member function definition to end with '}'
Error executing cl.exe.
enl.exe - 1 error(s), 0 warning(s)
问题点数:20、回复次数:5Top
1 楼lightning(lightning)回复于 2002-03-30 17:03:25 得分 10
remove :a(pp).
Top
2 楼hutuchong(糊涂虫)回复于 2002-03-30 17:22:56 得分 0
构造函数后面的分号应去掉
Top
3 楼hello_wyq(半瓶墨水)回复于 2002-03-30 17:33:04 得分 0
b(int qq,int pp):a(pp){}
Top
4 楼01101230(叶开)回复于 2002-03-30 17:33:46 得分 10
定义派生类构造函数的地方应该去掉对构造基类的说明,即去掉出错行的
:a(pp)
在派生类构造函数实现的部分才加上Top
5 楼QQKiKi(哈哈)回复于 2002-03-30 17:37:59 得分 0
谢谢大家,解决了Top




