为了账号安全,请及时绑定邮箱和手机立即绑定

赋值的时候为什么不是*m_iLen=len;

我们在header文件里定义了指针*m_iLen后,cpp文件中把参数len的值赋给数据成员为什么不是

*m_iLen=len; 而是 m_iLen=len;

不是*m_iLen储存值,m_iLen储存的是地址吗

正在回答

2 回答

m_iLen不是指针,是一个基础数据类型,你可以理解它是一个在栈实例化的对象。

给m_iLen对象赋值为len是科学的


类比:

Student stu;

stu.name = "name";

上面的stu的对象;


Student *stu = new Student();

(*stu).name = "name";

stu->name = "name";

上面的stu是指针,*stu是对象,,stu指向这个对象可以使用*号取出这个对象

1 回复 有任何疑惑可以回复我~

看看你函数参数是指针还是整型呗,如果你成员函数的形参len也是指针那自然要用m_iLen = len;来赋值

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之封装篇(下)
  • 参与学习       70919    人
  • 解答问题       514    个

封装--面向对象三大特征之一,通过案例让C++所学知识融会贯通

进入课程

赋值的时候为什么不是*m_iLen=len;

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信