21xrx.com
2024-12-23 02:23:28 Monday
登录
文章检索 我的文章 写文章
C++中的构造函数
2023-07-02 17:35:47 深夜i     --     --
C++语言 构造函数 对象 初始化

在C++语言中,构造函数是一个特殊的函数,它可以在创建对象时自动调用,并用于初始化对象的各个成员变量。本文将介绍C++中的构造函数以及它的用法。

1.构造函数的基本概念

构造函数是一种特殊的成员函数,它没有返回值,与类名相同,用于在创建对象时初始化对象的各个成员变量。构造函数可以被重载,即类中可以有多个不同形式的构造函数,以便于创建不同类型的对象。

2.构造函数的语法

构造函数的语法如下:

ClassName::ClassName(parameter list)

 //构造函数的主体

其中,ClassName表示该构造函数所属的类名,parameter list表示构造函数的参数列表。

3.构造函数的调用

构造函数是在创建对象时自动调用的,它的调用方式有以下两种:

(1)直接调用:通过类名在程序中显式调用构造函数。例如:

ClassName objectName(parameter list);

(2)隐式调用:对于动态分配内存的对象,可以使用new运算符,构造函数则在对象创建后隐式调用。例如:

ClassName *ptr = new ClassName(parameter list);

也可以使用默认构造函数来隐式调用构造函数。例如:

ClassName objectName;

4.构造函数的特性

(1)构造函数的名称必须与类名相同;

(2)构造函数可以被重载,以便创建对象时可以选择不同形式的初始化方式;

(3)构造函数可以有参数和默认参数,也可以没有参数;

(4)构造函数可以被定义为私有,以实现单例模式或者其他控制对象创建的手段;

(5)构造函数可以有返回值,但不建议在构造函数中使用返回值;

(6)如果没有定义构造函数,编译器会自动提供一个无参构造函数,其作用是给成员变量初始化。

5.构造函数的示例

下面是一个简单的构造函数示例,用于创建一个名为Person的类,并在创建对象时初始化它的成员变量:

#include

using namespace std;

class Person{

public:

 string name;

 int age;

 Person(string n, int a)

  name = n;

  age = a;

};

int main(){

 Person p("Tom", 18);

 cout<<"Name: "< <<", Age: "< <

 return 0;

}

结果输出:

Name: Tom, Age: 18

从示例中可以看出,构造函数通过参数列表初始化成员变量,从而避免了手动赋值的麻烦。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复