课程
/后端开发
/C++
/C++远征之封装篇(上)
void setName(string str) { m_strName = str; } 这里有点不懂 传递的参数是对象吗?
2016-11-05
源自:C++远征之封装篇(上) 4-3
正在回答
你这里函数的返回类型是无返回的void,形参也是对象,传的是赋给str这个值,然后再把str赋了的值在去赋给m_strName 然后呢,再在下面去的string getName()函数去返回这个m_strName这个值
蒙麵女俠 提问者
a就是形参,形参就是传值用的,你用什么符号都可以
这么跟你说吧,void setName(string str) { m_strName = str; }
在这里,你通过给str->(""),这里的str不是你的形参,而是你给class student 这个类命名的对象,而void setName(string str) 在这里,str是个形参,两者不是同一个,你把它搞错了。你通过str-> 这个标志是访问你命名为str的对象的成员,然后给你类里的成员str形参赋值。。。要是还不懂的话,看我这些话,然后再去重新看下视频。
东方既白233 回复 蒙麵女俠 提问者
蒙麵女俠 提问者 回复 东方既白233
形参是str,实参是m_setName 然后你给实参赋值,通过形参传值,懂了吗?
可以,你在下面继续调用这个函数,就可以了
str->setName("好好学习"); 然后呢,str的值又变了,变成好好学习
是的,就是传“慕课网”这个字符串
是传给str的值传给m_strName,也可以这么说。传参传的是值不是以一个符号
举报
封装--面向对象的基石,本教程力求帮助小伙伴们即学即会
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号