问一下这样原继承为什么会出错
class LIST:public list
{
public:
private:
};
parse error before `{' token
问题点数:20、回复次数:10Top
1 楼llf_hust()回复于 2005-07-18 18:44:11 得分 0
贴全部的代码出来看看Top
2 楼pdaliu(刘星)回复于 2005-07-18 18:47:48 得分 0
期实这就是全部~
#include <iostream>
#include <list>
using namespace std;
class LIST:public list
{
public:
private:
};
int main()
{
int ia[]={0,1,1,2,3,5,8,13,21,55,89};
list<int>ilist(ia,ia+11);
list<int>::iterator itList=ilist.begin();
for(;itList!=ilist.end();++itList)
{
cout<<*itList;
cout<<",";
}
system("pause");
return 0;
}
Top
3 楼foochow(无聊,灌水......)回复于 2005-07-18 18:55:03 得分 0
class temp:public list<int>
{
public:
private:
};
//这样能编译通过
Top
4 楼pdaliu(刘星)回复于 2005-07-18 19:16:27 得分 0
LIST ilist(ia,ia+11);
可是不能定义变量啊Top
5 楼llf_hust()回复于 2005-07-18 19:19:59 得分 0
LIST<int> ilist(ia,ia+11);
Top
6 楼pdaliu(刘星)回复于 2005-07-18 20:30:44 得分 0
不行~定义不了!Top
7 楼xzgyb(老达摩)回复于 2005-07-19 13:44:21 得分 20
#include <iostream>
#include <list>
using namespace std;
class LIST:public list<int>
{
public:
LIST( const int * p1, const int * p2 ) : list<int>( p1, p2 ) {}
private:
};
int main()
{
int ia[]={0,1,1,2,3,5,8,13,21,55,89};
LIST ilist(ia,ia+11);
LIST::iterator itList=ilist.begin();
for(;itList!=ilist.end();++itList)
{
cout<<*itList;
cout<<",";
}
system("pause");
return 0;
}
Top
8 楼pdaliu(刘星)回复于 2005-07-19 20:54:13 得分 0
LIST( const int * p1, const int * p2 ) : list<int>( p1, p2 ) {}
能解释一下吗?Top
9 楼xzgyb(老达摩)回复于 2005-07-20 09:41:15 得分 0
因为基类的构造函数并不会被继承,
要想
LIST ilist(ia,ia+11);
这句通过
就要在LIST中加上构造函数,并把相应参数传递给基类list<int>
的相应的构造函数Top
10 楼pippen2333(学习是为了赚钱)回复于 2005-07-20 10:03:02 得分 0
嗯,同意老达摩的意见,子类的构造函数应该通过调用父类的构造函数,要比父类的构造函数参数多
Top
相关问题
- 从CWnd中继承建自己的类,为什么SetTimer()出错?
- 为什么swt中的group直接继承会出错呢?
- 为什么我这样继承会出错呢??这样继承怎么又要默认构造函数啊。。。。?
- 我继承一个CFormView类CMyFormView,放到分割窗口中,为什么运行时总是出错?
- 一个继承自TWinControl的自定义控件,为什么一用Handle属性就出错.
- 有人做过在BCB中继承自己写的类吗?我做为什么出错?
- 做了一个从TEdit继承的控件,重写它的keydown事件时出错!为什么?在线等待!
- 为什么出错?
- 为什么出错?
- 为什么出错?????··············································




