C++类成员可以初始化

匿名的结构体或者类,必须在后面实例化对象


大家讨论一下类成员初始化问题。

01-27

关于类成员初始化的问题:rn使用vc7.0rn以下是个小结,不知是否有错误或纰漏,请指正:rnrn#include "stdafx.h"rn#include rnrnusing namespace std;rnrn//一个普通类rnclass C1rnrnpublic:rn int m_var;//变量成员rn const int m_const;//常量成员rn static int m_static_var;//静态变量成员rn static const int m_static_const=44;//静态常量成员;可以这样初始化,并且可以不用在类外定义一个空间;似乎不符合c++标准rnrn C1():m_const(56)//常量成员必须在这初始化rn rn cout<<"构造C1"<rnrnusing namespace std;rnrn//一个模版类rntemplaternclass C1rnrnpublic:rn int m_var;//变量成员rn const int m_const;//常量成员rn static int m_static_var;//静态变量成员rn static const int m_static_const=44;//静态常量成员;可以这样初始化,并且可以不用在类外定义一个空间;似乎不符合c++标准rnrn C1():m_const(56)//常量成员必须在这初始化rn rn cout<<"构造C1"<::m_static_var = 22;//error!!!!!静态变量成员如何初始化?rnrnint _tmain(int argc, _TCHAR* argv[])rnrn C1<1> a;rn cout<<"a.m_var="<rnrnusing namespace std;rnrn//一个模版类rntemplaternclass C1rnrnpublic:rn int m_var;//变量成员rn const int m_const;//常量成员rn static int m_static_var;//静态变量成员rn static const int m_static_const=44;//静态常量成员;可以这样初始化,并且可以不用在类外定义一个空间;似乎不符合c++标准rnrn C1():m_const(56)//常量成员必须在这初始化rn rn cout<<"构造C1"<::m_static_var=22;rnint C1<2>::m_static_var=22;[/color]rnrnint _tmain(int argc, _TCHAR* argv[])rnrn C1<1> a;rn cout<<"a.m_var="<

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试