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

求老师回复

Student stu;和Student stu = new Student();一样吗

正在回答

2 回答

对于具有默认构造函数的类来说,两者实例化之后的数据本质是一样的,只不过一个从堆中分配内存,一个从栈中分配内存。比如:在类中有一个成员x,如果在构造函数中有:x =10, 那么无论是Student *stu = new Student(),还是Student stu,其结果都是对象中的x被赋值了10,最后顺便说一下,你的代码写错了,第一,不能写成Student stu = new Student(),而应写成Student *stu = new Student(),第二,不能写成Student stu = null,而应写成Student *stu = null,如有疑问,请留言讨论。

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

勤劳的小蜜蜂yy 提问者

嗯,我知道了,谢谢老师,我以前学Java的,所以那个代码写错了。
2015-07-23 回复 有任何疑惑可以回复我~

Student stu = new Student()是对象的实例化,通俗的说是新建一个学生,拥有学生类中的所有属性和方法;

而Student stu;是没有什么意义的。要么Student stu = null;那就意味着初始化实例为null,相当于实例化了一个空对象

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

天路客的吟咏

所以两者不一样
2015-07-23 回复 有任何疑惑可以回复我~
#2

勤劳的小蜜蜂yy 提问者

恩恩,我懂了,谢谢您的回复。
2015-07-23 回复 有任何疑惑可以回复我~

举报

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

封装--面向对象的基石,本教程力求帮助小伙伴们即学即会

进入课程

求老师回复

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号