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

如何理解 new 类名(参数)

如何理解 new 类名(参数)

C++
山之僧智仙 2016-08-08 15:05:22
书上说,一共有4种初始化方式,假设有一个teacher类。 teacher a(参数)我懂。 但是teacher *p=new teacher(参数)是什么。 还有假设teacher类里有一个student类的对象stu。 如 class teacher { int name; student stu } 则teacher的构造函数里: teacher(参数):stu(参数) {//to do} 里的stu是什么鬼..
查看完整描述

1 回答

?
onemoo

TA贡献883条经验 获得超454个赞

teacher a(参数)  这是直接初始化(direct initialize)形式,就是定义了一个teacher变量a,直接调用其构造函数。


new是C++关键字,new会在堆中构造一个对象并返回它的指针。new后类型后面括号仍然是调用其构造函数,这也是一种直接初始化


teacher(参数) : stu(参数) {...}  构造函数的参数列表后,加上冒号,后面跟着一列成员变量(初值),这一列成员变量叫构造初始化列表。 它的作用是让这些成员变量用括号中的值来初始化,这会在构造函数的函数体执行前完成。这就是构造函数的特殊形式。


你看的书是C++的教程吗?  这些书上都应该讲过啊!

查看完整回答
2 反对 回复 2016-08-09
  • 1 回答
  • 0 关注
  • 1697 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信