当前位置: 代码迷 >> 综合 >> C++, 类的构造函数 语法练习
  详细解决方案

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

热度:88   发布时间:2024-01-19 15:37:57.0

 

#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;
 }

 

觉得没有必要搞多种写法,搞那么多选择,毫无必要,反而增加程序员的学习时间和沟通成本.


 

  相关解决方案