5 个解决方案
#1
Constructor是member functions的一种,但是特殊的一种,和类名字相同,用于为类分配存储空间,包括初始化成员变量。类的constructor可以有缺省的构造函数,就是什么也不做,也可以有多态函数,就是相同的函数名,不同的调用参数,这和成员函数是一致的,当然,在成员变量未初始之前,最好不要调用任何其他member functions,就像C中的指针,没有赋初值前,是不能用来处理的。
#2
大哥,构造函数一般完成对象的初始化,成员函数是在对象建好后对对象的成员变量操作的。
#3
构造函数也是一种成员函数,它完成对象的构造,相对的是析构函数,它完成对象的释放。
#4
gz
#5
关键的问题是什么是对象的初始化!对象的初始化,实质上,正是为对象的实例分配内存空间,以及给类成员初始化——这里的初始化包括分配内存空间以及做一些赋初值的工作,如符零。可以参阅STL的Template Container的声明参数,第一个参数说明此Container中将装什么数据类型,第二个参数是缺省的allocator,其用来为Container分配内存,在<memory>中定义,其实可以自定义allocator,其实正是constructor.欢迎大家讨论。
#1
Constructor是member functions的一种,但是特殊的一种,和类名字相同,用于为类分配存储空间,包括初始化成员变量。类的constructor可以有缺省的构造函数,就是什么也不做,也可以有多态函数,就是相同的函数名,不同的调用参数,这和成员函数是一致的,当然,在成员变量未初始之前,最好不要调用任何其他member functions,就像C中的指针,没有赋初值前,是不能用来处理的。
#2
大哥,构造函数一般完成对象的初始化,成员函数是在对象建好后对对象的成员变量操作的。
#3
构造函数也是一种成员函数,它完成对象的构造,相对的是析构函数,它完成对象的释放。
#4
gz
#5
关键的问题是什么是对象的初始化!对象的初始化,实质上,正是为对象的实例分配内存空间,以及给类成员初始化——这里的初始化包括分配内存空间以及做一些赋初值的工作,如符零。可以参阅STL的Template Container的声明参数,第一个参数说明此Container中将装什么数据类型,第二个参数是缺省的allocator,其用来为Container分配内存,在<memory>中定义,其实可以自定义allocator,其实正是constructor.欢迎大家讨论。