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

 

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

 

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


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值