21xrx.com
2024-09-19 09:43:37 Thursday
登录
文章检索 我的文章 写文章
C++类的默认成员初始化方式——类内初始值
2023-07-12 07:44:56 深夜i     --     --
C++ 默认成员初始化 类内初始值 成员变量

C++是一门面向对象的编程语言,类是C++编程中最基本的概念之一。在C++中,一个类可以包含若干个成员变量和成员函数。类的成员变量可以通过构造函数来初始化,但是如果没有显式地初始化成员变量,它们的值将是未定义的。为了解决这个问题,C++引入了类内初始值。

类内初始值是一种在类定义中给成员变量赋初值的方法。在类内初始值中,可以指定成员变量的初始值,并且这些初始值将在创建对象时自动赋给成员变量。类内初始值可以用于所有类型的成员变量,包括基本类型、数组和自定义类型。

下面是一些示例:


class MyClass {

public:

  int m_value = 42;    // 基本类型成员变量的类内初始值

  double m_data[4] = 2.0;   // 数组成员变量的类内初始值

  std::string m_name = "default name";    // 字符串类型成员变量的类内初始值

  std::vector<int> m_vec = 1;    // 自定义类型成员变量的类内初始值

};

上面的示例中,定义了一个名为MyClass的类,其中包含了多个成员变量,并且通过类内初始值给它们赋了初值。其中,m_value是一个整数类型的成员变量,它的初值是42,m_data是一个长度为4的浮点数数组,它的初值是1.0、2.0、3.0和4.0,m_name是一个字符串类型的成员变量,它的初值是"default name",m_vec是一个std::vector类型的成员变量,它的初值是1、2、3。

使用类内初始值的好处是可以使代码更加简洁和易读,不需要再写额外的构造函数来初始化成员变量。同时,类内初始值还可以用于默认构造函数中,当创建一个对象时,如果没有显式地初始化成员变量,会使用类内初始值来赋初值。

总之,C++类的默认成员初始化方式——类内初始值,是一种很方便的方式,可以帮助程序员更加容易地初始化类的成员变量。它不仅可以用于基本类型和数组,也可以用于自定义类型,极大地减少了编写代码的复杂度。

  
  

评论区

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