21xrx.com
2024-11-22 12:50:46 Friday
登录
文章检索 我的文章 写文章
C++ 默认构造函数是否带参数?
2023-06-24 02:42:42 深夜i     --     --
C++ 默认构造函数 参数

C++ 默认构造函数是指在类中没有显式地定义构造函数时,编译器会自动生成一个默认构造函数。默认构造函数的作用是完成对象的初始化工作,例如,给类中的成员变量赋初值。

默认构造函数可以不带参数,也可以带参数。如果不带参数,编译器会生成一个无参构造函数,例如:


class Person {

public:

  // 默认构造函数,不带参数

  Person()

    name = "";

    age = 0;

  

  void setName(string name)

    this->name = name;

  

  void setAge(int age)

    this->age = age;

  

private:

  string name;

  int age;

};

如果要让默认构造函数带参数,可以像下面这样:


class Person {

public:

  // 默认构造函数,带参数

  Person(string name, int age)

    this->name = name;

    this->age = age;

  

private:

  string name;

  int age;

};

需要注意的是,如果定义了带参数的构造函数,但没有定义无参构造函数,编译器将不会自动生成一个无参构造函数。如果再调用无参构造函数,编译器将会报错。

综上所述,C++ 默认构造函数既可以带参数,也可以不带参数,具体要看类的定义是否需要。如果定义了其他构造函数,但没有定义无参构造函数,需要手动定义一个。

  
  

评论区

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