21xrx.com
2024-11-22 10:00:23 Friday
登录
文章检索 我的文章 写文章
C++ 初始化列表代码示例
2023-06-22 07:14:26 深夜i     --     --
C++ 初始化列表 代码示例

C++语言的初始化列表提供了一种在对象创建时初始化数据成员的方法,这对于类中包含大量成员变量的情况特别有用。下面是一个简单的代码示例,用来说明C++的初始化列表的使用方法。

首先,我们定义一个包含两个私有成员变量的类:


class MyClass {

private:

  int x;

  double y;

public:

  MyClass(int xVal, double yVal);

  void printValues();

};

在这个类中,我们提供了一个构造函数`MyClass(int xVal, double yVal)`,接受两个参数`xVal`和`yVal`,用于初始化`x`和`y`两个成员变量。构造函数的定义如下:


MyClass::MyClass(int xVal, double yVal)

  : x(xVal), y(yVal)

可以看到,在构造函数的定义中,我们使用冒号`:`在函数名称和函数体之间定义了一个初始化列表,用来初始化`x`和`y`成员变量。初始化列表的语法如下:


: member1(value1), member2(value2), member3(value3), ...

在这个例子中,我们使用`x(xVal)`和`y(yVal)`初始化了`x`和`y`成员变量,其中`xVal`和`yVal`是传递给构造函数的参数。

现在,我们来实现`printValues()`函数,用于输出对象的`x`和`y`成员变量的值:


void MyClass::printValues()

  cout << "x = " << x << endl;

  cout << "y = " << y << endl;

完整的代码如下所示:


#include <iostream>

using namespace std;

class MyClass {

private:

  int x;

  double y;

public:

  MyClass(int xVal, double yVal);

  void printValues();

};

MyClass::MyClass(int xVal, double yVal)

  : x(xVal), y(yVal)

void MyClass::printValues()

  cout << "x = " << x << endl;

  cout << "y = " << y << endl;

int main() {

  MyClass obj(42, 3.14);

  obj.printValues();

  return 0;

}

运行代码后,我们可以看到输出结果如下:


x = 42

y = 3.14

这说明初始化列表成功地初始化了对象的成员变量。

总之,C++的初始化列表提供了一种简单、高效的在对象创建时初始化数据成员的方法。通过使用初始化列表,我们可以避免在构造函数中重复访问、赋值成员变量的过程,提高代码的可读性和可维护性。

  
  

评论区

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