您的位置:首页 > 编程语言 > C语言/C++

C++, 类的构造函数 语法练习

2012-10-03 14:49 148 查看
#include <iostream>
#include <string>
using namespace std;

class Student
{
public:
// 存
void setname(string s){	name = s;}
void setage(int y){age = y;	}
void setaddress(string add){address = add;}
// 取
string getname(){return name;}
int getage(){return age;}
string getaddress(){return address;}

Student & show()
{
cout<<"调用成员函数show----------------------------------------"<<endl;
cout<<"姓名: "<<name<<" --- 年龄: "<<age<<" ---- 住址: "<<address<<endl;
return *this;
}

//-- 引入构造函数:初始化成员,与类同名,没有返回值
Student(string na,int ag,string addr)
{
this->name = na; this->age = ag; this->address = addr;
cout<<"调用构造函数----------------------------------------"<<endl;
cout<<"姓名: "<<this->name<<" --- 年龄: "<<this->age<<" ---- 住址: "<<this->address<<endl;
}

protected:

private:
string name;
int    age;
string address;
};

int main(void)
{
// 对应对象x后,自动调用构造函数来初始化成员.
Student  x("柳絮飘",22,"学明路115号");
x.show();
x.setname("柳絮");
x.show();
// ----
return 0;
}


--



----

构造函数 初始化另外一个写法:

//-- 引入构造函数:初始化成员,与类同名,没有返回值

Student(string na,int ag,string addr):name(na),age(ag),address(addr)

{

cout<<"调用构造函数----------------------------------------"<<endl;

cout<<"姓名: "<<this->name<<" --- 年龄: "<<this->age<<" ---- 住址: "<<this->address<<endl;

}

觉得没有必要搞多种写法,搞那么多选择,毫无必要,反而增加程序员的学习时间和沟通成本.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: