如何在类中初始化const成员变量

如何在类中初始化const成员变量

本文介绍了如何在类中初始化const成员变量?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

#include <iostream>

using namespace std;
class T1
{
  const int t = 100;
  public:

  T1()
  {

    cout << "T1 constructor: " << t << endl;
  }
};

当我尝试初始化const成员变量 t 与100。但这给了我以下错误:

When I am trying to initialize the const member variable t with 100. But it's giving me the following error:

test.cpp:21: error: ISO C++ forbids initialization of member ‘t’
test.cpp:21: error: making ‘t’ static

如何初始化 const 值?

推荐答案

const 变量指定变量是否可修改。每次引用变量时将使用分配的常数值。

The const variable specifies whether a variable is modifiable or not. The constant value assigned will be used each time the variable is referenced. The value assigned cannot be modified during program execution.

Bjarne Stroustrup的简要地总结一下:

Bjarne Stroustrup's explanation sums it up briefly:

A const 变量必须在类中声明,但不能在其中定义。我们需要在类外定义const变量。

A const variable has to be declared within the class, but it cannot be defined in it. We need to define the const variable outside the class.

T1() : t( 100 ){}

这里的赋值 t = 100 发生在初始化列表中类初始化发生。

Here the assignment t = 100 happens in initializer list, much before the class initilization occurs.

这篇关于如何在类中初始化const成员变量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-31 03:35