类中函数成员给数据成员赋值时的问题

在函数setDay()中,局部变量定义为day时,在函数内赋值时要使用this指针已区分两个day变量;或者局部变量定义为与成员变量不同的名字;


 1 #include <iostream>
  2 using namespace std;
  3 class Data
  4 {
  5 private:
  6     int year;
  7     int month;
  8     int day;
  9 public:
 10     Data(int year=2015, int month=8, int day=6):year(year),month(month),day(day){}
 11     void show()
 12     {
 13         cout<<year<<'-'<<month<<'-'<<day<<endl;
 14     }
 15     void setDay(int day)  //or (int d){day=d};  因为使用变量时遵循就近原则,不用this指针的话左值和右值都代表的是局部变量;
 16     {
 17         this->day = day;
 18     }
 19 };
 20 
 21 int main()
 22 {
 23     Data data;
 24     data.show();
 25     data.setDay(7);
 26     data.show();
 27     return 0;
 28 }   
~      


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值