/ /类需要构造函数
类是一种抽象结构,而不是一种实体,并不占用存储空间。所以在定义类结构体的时候,是不可以对类中的成员进行初始化的。
例如以下的做法就是错误的:
class student{
name = " ";
number = 0;
score = 0;
}
因为类型没有内存空间的,所以没有办法存放初始化的数据。
而类的对象不同,需要容纳数据,占用空间。如果初始化一个student对象,那么stud1是占用内存空间的;
student stud1;
stud1 = {“lilei”, 2011, 98};
可以使用lilei,学号是2011,成绩是98分,来初始化stud1这个同学。这种情况成立的前提条件是name, number, score对对象来说都是可见(public)的。
类中有3种访问模式:public、private和protested。
如何是private的,即不可见的,那我们就不可以这样进行初始化,因为对于不可见的成员,不知道哪些需要进行初始化,而哪些又是不用的。
如果是同一个人用定义的类,用户也是自己,可以知道类中的全部成员,但是如果是别人给的类,我什么就根本不知道其中有多少的成员函数。
所以通过引入构造函数,来解决类的对象的初始化问题。
在类中定义构造函数,构造函数和类同名,在类定义体外也可以定义。