21xrx.com
2025-03-23 09:51:14 Sunday
文章检索 我的文章 写文章
C++重写构造函数的实现方式
2023-06-23 17:13:57 深夜i     11     0
C++ 重写 构造函数 实现方式

C++中的构造函数是一个特殊的成员函数,用于在创建对象时对对象进行初始化。当类中没有定义构造函数时,C++会提供默认的构造函数,也称为无参构造函数。但是当需要指定特定的对象初始化方式时,可以通过重写构造函数来自定义构造函数。

重写构造函数一般有两种方式,分别是在类定义中实现和在类外实现。

在类定义中实现:

当需要对类进行简单的初始化时,可以在类定义中实现构造函数。例如:

class Animal {
public:
  Animal()
    age = 1;
    name = "Unknown";
  
  Animal(int newAge, std::string newName)
    age = newAge;
    name = newName;
  
private:
  int age;
  std::string name;
};

在上面的代码中,Animal类有两个构造函数,一个是无参构造函数,另一个是带参构造函数。这两个构造函数均在类定义中实现。

在类外实现:

当需要对类进行复杂的初始化时,可以在类外实现构造函数。例如:

class Animal {
public:
  Animal();
  Animal(int newAge, std::string newName);
private:
  int age;
  std::string name;
};
Animal::Animal()
  age = 1;
  name = "Unknown";
Animal::Animal(int newAge, std::string newName)
  age = newAge;
  name = newName;

在上面的代码中,Animal类有两个构造函数,一个是无参构造函数,另一个是带参构造函数。这两个构造函数均在类外实现。

重写构造函数是C++中的重要特性之一,可以根据需要灵活地对类进行初始化。但是需要注意,如果在类中定义了至少一个构造函数,则必须定义默认构造函数,以便可以通过无参方式创建对象。

  
  

评论区