1.◼ 构造函数(也叫构造器),在对象创建的时候自动调用,一般用于完成对象的初始化工作
2.一旦自定义了构造函数,必须用其中一个自定义的构造函数来初始化对象
就是有多个的话 根据参数编译器自行选择
Person(int a){} Person(int a ,int b){} 还有压根没有定义的构造函数(初始化函数)对应的调用main调用::
Person a(5) Person a(10 ,5) Person a
补充一点 Person (){m_age=0}
之后的定义是 Person person;
虽然有() 但是没有参数所以就
至于 定义的参数 都是最后在函数体内部给了 类里面定义的成员变量了
给了才算是初始值 才利用了参数不然要参数有什么用
3.构造函数
函数名与类同名,无返回值(void都不能写),可以有参数,可以重载,可以有多个构造函数
4.new 可以调用构造函数, 对于new malloc 的堆空间还需要初始化?不是在定义的时候已经初始化了吗?
5.但是把对象定义到全局 或者栈空间(new 可以malloc 不可以) 代码区
6.构造函数 是以类名 Person(){}
在调用的时候不需要写它的调用函数 只需要类名+对象名即可· 如果有多个构造函数
类名+对象名(10,20)加上参数就好
7.构造函数以及定义的函数在类里面:
8.刚才在想用new与malloc 创造堆空间,为什么要用 int*p=new int
指针指向呢
Person *p= new Person;/ (这里类型是Person 对象)
申请Person 这么大的空间;
9.作用不一定是初始化
10.
11.明确赋值 就是初始化
在类里面赋值 不仅仅是赋值,,换还有就是初始化
12.
13
14.
多个构造函数
15.
16.
17.
18.
19.
20.
把viod也放在里面了
21.