注册 登录
编程论坛 C++教室

冒号语法怎么用

karlzhouzhi 发布于 2006-01-18 00:32, 1919 次点击
class Student
{
public:
Student(char*pName="no name",int ssID=0):id(ssID){} //为什么不能加{},如果id是常量或者引用为什么可以加{}
{
cout<<"Constructing student"<<pName<<endl;
strncpy(name,pName,sizeof(name));
name[sizeof(name)-1]='\0';
}
protected:
char name[20];
StudentID id;
};
3 回复
#2
柳儿2006-01-18 11:33
这个叫冒号语法么?

这种格式常见于派生类的构造函数,语法形式为:
派生类名::派生类名(参数总表):基类名1(参数表1),...,内嵌对象名1(内嵌对象参数表1),...
{
派生类新增成员的初始化语句;
}

例如:
class People
{
public:
People(int age){ m_age = age ;}
~People();
private:
int m_age;
};
class Student : public People
{
public:
Student(int age, string name):People(age)
{
m_name = name;
}
~Student();
private:
string m_name;
};

[此贴子已经被作者于2006-1-18 11:37:50编辑过]

#3
unicorn2006-01-18 21:17
所谓的冒号语法就是构造函数的初始化列表形式吧 呵呵
#4
炫灿星空2012-05-14 10:25
好像是的诶
1