21xrx.com
2024-12-22 21:55:37 Sunday
登录
文章检索 我的文章 写文章
使用c++为类成员变量定义时如何进行初始化?
2023-07-06 12:01:17 深夜i     --     --
C++ 类成员变量 初始化

在C++中,类的成员变量是定义在类中的变量,可以被类的成员函数使用。在定义类的时候,需要注意成员变量的初始化问题。对于简单类型的成员变量,可以直接在定义时进行赋值,如下所示:


class MyClass

public:

  int num = 0;

  double value = 0.0;

上面的代码中,`num`和`value`成员变量在定义时已经进行了初始化,`num`赋值为0,`value`赋值为0.0。这种方式也可以在构造函数中进行,如下所示:


class MyClass{

public:

  int num;

  double value;

  MyClass() : num(0), value(0.0) {}

}

上面的代码中,`MyClass()`是类的构造函数,`num`和`value`成员变量在构造函数中进行了初始化,`num`赋值为0,`value`赋值为0.0。

对于复杂类型的成员变量,比如数组、指针、对象等,在定义时不能直接进行初始化。需要在构造函数中进行初始化,或者使用成员变量初始化列表进行初始化,如下所示:


class MyClass{

public:

  int* num_array;

  std::string name;

  MyClass() : name("MyClass") {

    num_array = new int[10] {0};

  }

  ~MyClass() {

    delete[] num_array;

  }

}

上面的代码中,`num_array`是一个指针类型的成员变量,在构造函数中通过`new`关键字动态分配内存,并将数组元素初始化为0。`name`是一个字符串类型的成员变量,在构造函数的成员初始化列表中进行了初始化。

总结来说,类的成员变量的定义和初始化可以通过直接赋值、构造函数中赋值、成员变量初始化列表等方式来实现,需要根据具体情况选择合适的方式进行初始化。同时,需要注意复杂类型成员变量的初始化问题,避免内存泄漏等问题。

  
  

评论区

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