为什么有些类有2个构造函数?

为什么有些类有2个构造函数?

构造函数重载啊。

他们的参数列表不同(甚至可以仅仅是类型上的不同),比如数目不同,通常有一个是没有任何参数的构造函数。
一个类的构造函数可以有无数个,只要他们的参数列表不同。

如:
void object()
void object(int b)
void object(double c)
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-09-08
函数的重载
两个函数的参数不一样,一般一个有参数,一个没有参数
没有参数的是默认情况下使用的 Object a = new Object()
有参数的是你需要创建对象的时候就传递参数时使用的Object a = new Object(m,n)

为什么有些类有2个构造函数?
他们的参数列表不同(甚至可以仅仅是类型上的不同),比如数目不同,通常有一个是没有任何参数的构造函数。一个类的构造函数可以有无数个,只要他们的参数列表不同。如:void object()void object(int b)void object(double c)

在类里面定义两个构造函数有什么意义?
即便第二个函数的两个参数都是0,这两个也是不一样的构造函数,只是在第二个函数的参数都是0的时候,两个构造函数造成的效果是一样的了。如果你不想定义那个无参的构造函数也是可以的,第二个构造函数也可以达到这样的效果。但是你如果定义了这两个构造函数的话,使用上就要对它们有所区分了 ...

在C++中一个类可以含有多个构造函数吗?
可以啊,重载的概念最初就是为了构造函数提出来的 一个类就算自己没定义构造函数,编译器也会自动提供两个构造函数:默认构造函数和复制构造函数 但是析构函数只能有一个

C++中一个类最多几个构造函数?
C++中一个类可以有很多个构造函数,但是参数一定要不一样。编译器会自动提供两个构造函数:默认构造函数和复制构造函数。析构函数只能有一个。C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛。C++支持多种编程范式 --面向对象编程、泛型编程和过程化编程。其编程领域众广,常用于系统开发,...

为什么要设置多个构造方法,多个构造方法有什么用
double height)但是如果四边形是一个正方形的话,那么初始化的时候仍要写全两个参数 Quattro a = new Quattro(10, 10)此时你定义一个新的构造函数:Quattro(double length)就可以 Quattro a = new Quattro(10)了 当然这是一个非常简单的例子,你去看一看Java的API,所有的类都有重载的构造函数 ...

一个类可以有几个构造函数,几个析构函数,几个虚函数,几个纯虚函数
任意多个构造函数,0~1个析构函数,任意多个虚函数,任意多个纯虚函数。ps:如果0个构造函数,系统会自动生成两个构造函数,一个无参,一个是复制构造函数。如果0个析构函数,系统会自动生成一个析构函数。

C语言里面构造函数和析构函数的运用办法
当对象消亡时,析构函数被自动执行。这样就不用担心忘记对象的初始化和清除工作。 二.构造函数在C#中的运用 构造函数的名字不能随便起,必须让编译器认得出才可以被自动执行。它的命名方法既简单又合理:让构造函数与类同名。除了名字外,构造函数的另一个特别之处是没有返回值类型,这与返回值类型为void的函数不同...

一个类可拥有多少个构造函数
每个类只有一个析构函数和一个赋值函数,但可以有多个构造函数(包含一个拷贝构造函数,其它的称为普通构造函数)。一般来说最大值是不会达到的。

c# 在一个类中有两个名称相同的构造函数,它们所含参数个数相同,类型...
class 自定义类 { public string 中文月份(int 月份) { return " 一二三四五六七八九十冬腊"[月份].ToString(); } public string 中文月份(string 中文) { return 中文 + "月"; } } 自定义类 月份 = new 自定义类(); MessageBox.Show(月份.中文月份(9)...

一个类中可以有( )个构造函数,只能有( )个析构函数。
一个类中可以有多个构造函数,只能有一个析构函数。构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们,即构造函数的重载。...

相似回答