C++ 类的 this 指针 语法练习5

#include <iostream>
#include <string>
using namespace std;

// 定义一个类 Student
class Student
{
private:
	string name;
	int    age;
	string address;
	
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 对象 : 因为this是指针,*this就是当前对象(的值) ?	
	Student Show() 
	{
		cout<<"姓名: "<<name<<" --- 年龄: "<<age<<" ---- 住址: "<<address<<endl; 
		return *this; // 这里不是this,而是 *this
	}     
	*/

    // 或者 Student & Show() 就是返回对象的引用 也对.	  是返回引用好?还是上面的返回对象本身好?
	 
				Student & Show() 
				{
					cout<<"姓名: "<<name<<" --- 年龄: "<<age<<" ---- 住址: "<<address<<endl; 
					return *this; // 这里不是this,而是 *this
				}
protected:

};

int main(void)
{
	   Student x;	   
	   x.setname("柳絮飘");
	   x.setage(22);
	   x.setaddress("学明路115号");		  
	  // x.Show().Show().Show().Show(); // 注意不再是  x.Show()->Show()->Show()->Show();   
	    
	     Student k;
	    // k= x.Show();  //或者 k= x.Show().Show().Show().Show(); 也对.
	     k= x.Show().Show().Show().Show(); 
// --------------------
	return 0;
}


// --

 

问题是 返回对象好,还是返回对象的引用好?

 
  // 返回 指向Student 对象 : 因为this是指针,*this就是当前对象(的值) ? 
 Student Show()
 {
  cout<<"姓名: "<<name<<" --- 年龄: "<<age<<" ---- 住址: "<<address<<endl;
  return *this; // 这里不是this,而是 *this
 }    

    // 或者 Student & Show() 就是返回对象的引用 也对.   是返回引用好?还是上面的返回对象本身好?
 
    Student & Show()
    {
     cout<<"姓名: "<<name<<" --- 年龄: "<<age<<" ---- 住址: "<<address<<endl;
     return *this; // 这里不是this,而是 *this
    }

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值