C++含有成员对象的类的构造函数问题

2025-05-12 18:13:21
推荐回答(3个)
回答(1):

答1:
char sname[] 在作为函数参数是表示指针,等同于char *sname。
(因为用[]一眼能看出指针指向数组。sname[0]表示的是单个字符)

student (char sname[]=“no name”,long sid=0 ) //这叫默认参数,即如果调用该函数,如果在调用 //的时候没有给实参,则会默认给sname赋值“no //name”,sid赋值0

答2:
构造函数是在定义类对象的是后自动调用的(初始化类对象)。
你在main中定义了一个类对象,会自动调用,如果你没有在类声明中定义构造函数,则会默认帮你生成一个。(默认生成的里面什么都没有操作,但还是会被调用)

回答(2):

1 第一个问题是给构造成员变量加初始值,为了使得程序友好

2 第二个问题 因为在你初始化的时候 ,先调用初始化列表里面的成员进行初始化,就会调用该对象所属的该类的构造函数

回答(3):