21xrx.com
2024-11-05 16:36:45 Tuesday
登录
文章检索 我的文章 写文章
C++类的构造函数
2023-07-05 12:14:14 深夜i     --     --
C++ 构造函数 对象 初始化

C++中的类是一种数据类型,它可以封装数据和函数。类中的函数被称为方法,它们可以被调用来执行某些操作。构造函数是C++类中的一个特殊方法。它在创建类的实例时被调用,用于初始化类的成员变量。

C++类的构造函数有以下几个特点。

1. 构造函数的名称必须与类名称相同。

2. 构造函数没有返回类型,也不需要使用关键字void。

3. 构造函数可以重载。也就是说,一个类可以有多个构造函数,它们的参数列表不同。

4. 如果没有定义构造函数,C++会提供一个默认的构造函数。这个默认的构造函数什么也不做,只是分配内存空间。

下面是一个示例类的构造函数:


class Person

{

public:

  Person(); // 默认构造函数

  Person(string name, int age); // 重载构造函数

  void display();

private:

  string m_name;

  int m_age;

};

Person::Person()

  m_name = "";

  m_age = 0;

Person::Person(string name, int age)

  m_name = name;

  m_age = age;

void Person::display()

  cout << "Name: " << m_name << endl;

  cout << "Age: " << m_age << endl;

int main()

{

  Person p1; // 调用默认构造函数

  p1.display(); // 输出 Name: Age:

  Person p2("Tom", 18); // 调用重载构造函数

  p2.display(); // 输出 Name: Tom Age: 18

  return 0;

}

在上面的示例中,我们定义了一个名为Person的类,并定义了两个构造函数:默认构造函数和重载构造函数。默认构造函数不需要任何参数,当类的实例被创建时,它会自动调用。在默认构造函数中,我们将m_name和m_age成员初始化为空字符串和零。重载构造函数需要两个参数,分别是一个字符串类型的name和一个整数类型的age。在重载构造函数中,我们将这些参数分别赋值给m_name和m_age成员。

在main函数中,我们创建了两个Person类的实例p1和p2。我们可以看到,在调用p1.display()时,输出了默认的name和age。而在调用p2.display()时,输出了我们传入的参数值。

总之,C++类的构造函数是类的一个特殊方法,用于初始化类的成员变量。C++类可以有多个构造函数,并可以重载。如果没有定义构造函数,C++会提供一个默认的构造函数。

  
  

评论区

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