c++里, 构造函数是什么概念?

2024-12-23 13:54:59
推荐回答(5个)
回答1:

  构造函数 ,是一种特殊的方法,主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中,特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。
  如果一个类中没有定义任何的构造函数,那么编译器只有在以下三种情况,才会提供默认的构造函数:
  1、如果类有虚拟成员函数或者虚拟继承父类(即有虚拟基类)时;
  2、如果类的基类有构造函数(可以是用户定义的构造函数,或编译器提供的默认构造函数);
  3、在类中的所有非静态的对象数据成员,它们对应的类中有构造函数(可以是用户定义的构造函数,或编译器提供的默认构造函数)。

回答2:

TelnetAppClass() : TclClass("Application/Telnet") {}
这个是构造函数,":"后面跟的是初始化参数列表
初始化参数列表如果你不太清楚的话...可以给我留言

回答3:

1 和类名相同
2 没有返回值类型声明
还有除了以上说的俩点,还要注意:
二.构造函数的定义

构造函数的名字不能随便起,必须让编译器认得出才可以被自动执行。它的命名方法既简单又合理:让构造函数与类同名。除了名字外,构造函数的另一个特别之处是没有返回值类型,这与返回值类型为void的函数不同。如果它有返回值类型,那么编译器将不知所措。在你可以访问一个类的方法、属性或任何其它东西之前, 第一条执行的语句是包含有相应类的构造函数。甚至你自己不写一个构造函数,也会有一个缺省构造函数提供给你。

class TestClass
{
public TestClass(): base() {} // 由CLR提供
}

下面列举了几种类型的构造函数

1)缺省构造函数

class TestClass
{
public TestClass

}

希望可以帮上你的忙哦

回答4:

俩特点..
1 和类名相同
2 没有返回值类型声明

回答5:

TelnetAppClass() : TclClass("Application/Telnet") {}