构造函数的作用具体是什么?

其实构造函数的作用已经知道,但是在程序里面经常有这样的代码
aclass(int n)
{i=n;}
void set(int n)
{i=n;}
构造函数是不是和下面这个函数的作用重复了呢?如果不是,那么此中构造函数到底是什么作用呢?望高手赐教!

1.
c++语言为类提供的构造函数可自动完成对象的初始化任务,全局对象和静态对象的构造函数在main()函数执行之前就被调用,局部静态对象的构造函数是当程序第一次执行到相应语句时才被调用。
2.
构造函数
,是一种特殊的方法。主要用来在创建对象时初始化对象,
即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数
,可根据其参数个数的不同或参数类型的不同来区分它们
即构造函数的重载。
3.
在对象编程语言中,一般在定义了一个类型之后,为了能使用它,必须把这个类型具体化,也就是指定为一个具体的对象。而构造函数就是从定义出发,建立与定义相对应的对象。用计算机语言来说,光有定义是不能使用,必须通过构造函数来分配内存空间给可使用的对象。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-02-24
不重复!

你的代码不全,看不出具体,简单理解。在代码
aclass(int n) //构造函数
{i=n;}
void set(int n) //成员函数
{i=n;}
中,构造函数完成初始化。而成员函数set则是改变初始化后的成员变量i的值,记住,成员变量的值是可以由成员函数改变的。
显然,一个是初始化,一个是改变初始化的值,二者不重复!

你误解的关键是变量n,构造函数和成员函数set中的n是不同的变量!同名不同意,假如改为:
aclass(int n) //构造函数
{i=n;}
void set(int t) //成员函数
{i=t;}
和没改的功能一样,但是不会误解。本回答被提问者采纳
相似回答