一个符号的问题
下面这段代码是关于顺序表的,其中构造函数的写法有点怪,两个冒号“::”是域运算符,一个冒号“:”不知是什么?请高手指教,代码这样写不好吧?
const int maxlen=100;
typedef int DataType;
class SeqList
{
private:
DataType Data[maxlen-1];
int Len;
public:
SeqList(void);
~SeqList(void);
};
SeqList::SeqList(void):Len(0){}
SeqList::~SeqList(void){
return Len;
}
[解决办法]
就是初始化列表时的语法
[解决办法]
那是在初始化列表,很简单的。
[解决办法]
初始化列表有时候是必要的,一些类的继承都必须要用的
[解决办法]
初始化列表
一般用来初始话一些成员变量
SeqList::SeqList(void):Len(0){}
如果len是内部变量(int , long, .....)
那就跟这个
SeqList::SeqList(void)
{
Len = 0;
}
效果一样
如果是Len是类,而且没提供默认构造函数的话,就只能用前面的方法
[解决办法]
初始化列表
《c++ Primer》第三版(潘爱民)(电力出版)587页有专门介绍。
[解决办法]
析构函数怎么能有返回值呢?上面写的有问题.........
[解决办法]
成员变量初始化列表
[解决办法]
查的书都没介绍这个?还是你没找到,应该是介绍类的时候顺便介绍的,如果真的没有那赶快扔了吧,买本好的