您的位置:首页 > 编程语言 > C语言/C++

C++必须使用初始化列表的一种情况

2013-09-27 09:51 323 查看
/*
常量和引用必须在声明的时候赋值,所以Opera类中的rnum和lnum
必须使用初始化列表初始化
另外,C++还支持这样的赋值方式
int n(10) <==> int n = 10;(不过不知道存储结构有什么不一样)
*/

#include <iostream>

using namespace std;

class Opera

{

public:
enum type
{
TT = 12,
CC = 23
};

Opera(int num=0):knum(num), rnum(num), lnum(num)
{
cout<<"Opera:"<<knum<<endl;
}
~Opera()
{
cout<<"~Opera:"<<knum<<endl;
}

void display_rnum()
{
cout<<"rnum:"<<rnum<<endl;
}
void display_lnum()
{
cout<<"lnum:"<<lnum<<endl;
}

private:
int knum;
const int rnum;
int &lnum;

};

int main(void)

{
int n(10);
Opera op1(10);
Opera op2(20);
op1.display_lnum();
op1.display_rnum();

cout<<op1.TT<<endl;
cout<<op1.CC<<endl;
cout<<Opera::TT<<endl;

cout<<"n="<<n<<endl;
return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ 初始化列表