21xrx.com
2024-12-23 00:38:08 Monday
登录
文章检索 我的文章 写文章
C++类的初始化
2023-07-01 09:56:45 深夜i     --     --
构造函数 默认构造函数 成员初始化列表 构造函数重载 初始化顺序

C++是一种面向对象的编程语言,类是其面向对象特性的重要组成部分。类的初始化是类的构造函数和析构函数,在C++中,类的初始化有以下几种方式:

1. 默认初始化:如果类没有定义构造函数,则其成员变量会使用默认构造函数进行初始化。默认构造函数会把数字初始化为0,字符初始化为'\0',布尔值初始化为false。

2. 带参数的构造函数初始化:如果类定义了带参数的构造函数,则可以通过传入参数来对成员变量进行初始化。例如:


class Person {

public:

 Person(string name, int age)

   this->name = name;

   this->age = age;

 

private:

 string name;

 int age;

};

在实例化一个Person对象时,可以传入name和age进行初始化:


Person p1("Tom", 18);

这时,p1的name属性值为"Tom",age属性值为18。

3. 列表初始化:C++11引入了初始化列表的语法,可以用花括号{}来初始化成员变量。例如:


class Point {

public:

 Point(int x, int y) : x(x), y(y) {}

private:

 int x;

 int y;

};

在实例化一个Point对象时,可以使用初始化列表进行初始化:


Point p1 2;

这时,p1的x属性值为1,y属性值为2。

总之,C++类的初始化方式多种多样,需要根据具体情况进行选择。初学者可以先使用默认初始化和带参数的构造函数初始化,熟练后再尝试列表初始化等高级用法。

  
  

评论区

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