还是不明白的书。

时间:2021-11-15 22:25:28
请问一下大家,我现在学c++已经有一段时间了。但是还是不明白构造函数和成员函数的区别和联系是什么,希望大家能相信的帮我讲讲。呵呵,马上就开始学MFC了,还兴奋呀。

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.欢迎大家讨论。