c++结构函数

来源:百度知道 编辑:UC知道 时间:2024/06/20 15:48:04
一个程序,有student 和table两个类。
student类中定义了带一个参数的结构函数:student(int)和没有参数的结构函数:student()
table类头文件中创建了student的一个对象s(不带参数),但在实现部分中却写为:table::table(int n):s(n){…………} 这时候对象s却带了函数
请问各位,table类中创建无参数对象s,但为什么实现时却可以用带参数的呢?

类里面那个不叫创建对象, 类里面的只是声明有这么个东西, 带不带参数是初始化时候决定的事,也就是构造函数里面写的那个才管用。

建议你详细看看类的语法吧, 你的概念基本还停留在函数编程阶段呢。。

这是对 S 的初始化啊
就比如 int a;
然后 a = 3;
这里只不过是对自定义类初始化,原理是一样的
在类里,只是志声变量的类型,在类的定义体中才能确定它的初始过程。

在给类的构造函数定义时,写在函数声明后面的:,后面跟的是成员初始化列表,是在执行构造函数体之前进行的一些初始化操作,这里的s(n),就是调用student类的student(int)构造函数来给s初始化