今天看到这样的定义函数格式……,大家帮我解释一下,还有……
这是一个顺序表的模板定义的一部分,我用数字“1”“2”……标出了我有疑问的地方
const int defaultsize=100;
template <calss Type> class datalist{
private:
struct Element {
Type key;
field otherdata; //其它域
};
public:
datalist(int MaxSz=defaultsize):MaxSize(MaxSz){} //“1”
Type getkey(){return key;}
void setkey(const Type x){key=x;}
//一些其它的函数的定义
private: //“2”
Element<Type> *Vector;
int MaxSize;
}
问题1:在这一句这种函数的定义是什么意思啊?
问题2:在一个类中可以生命两个private区域吗?
问题3:定义一个类的实例“list”,然后,我在书上看到了“list.Vector[i].getkey()”这种使用方法,难道结构体可以调用类中声明的函数吗,也就是直接“类实例名.结构体名.函数名”这种形式?
(不知道有没有把自己的意思表达清楚)