您的位置:首页 > 其它

在类的对象的初始化中为什么需要构造函数?

2011-03-10 09:31 239 查看
/
/类需要构造函数

类是一种抽象结构,而不是一种实体,并不占用存储空间。所以在定义类结构体的时候,是不可以对类中的成员进行初始化的。

例如以下的做法就是错误的:

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的,即不可见的,那我们就不可以这样进行初始化,因为对于不可见的成员,不知道哪些需要进行初始化,而哪些又是不用的。

如果是同一个人用定义的类,用户也是自己,可以知道类中的全部成员,但是如果是别人给的类,我什么就根本不知道其中有多少的成员函数。

所以通过引入构造函数,来解决类的对象的初始化问题。

在类中定义构造函数,构造函数和类同名,在类定义体外也可以定义。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: