| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3293 人关注过本帖
标题:类中常量成员数组如何初始化?
只看楼主 加入收藏
russilong
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2005-8-23
收藏
 问题点数:0 回复次数:5 
类中常量成员数组如何初始化?
...
class T{
const char a[4];
public:
  ...
};

请问数组a可否初始化,如果可以,该怎样初始化?如果不可以,请指明原因。谢谢。


[此贴子已经被作者于2005-9-11 22:35:42编辑过]


搜索更多相关主题的帖子: 常量 成员 public char const 
2005-09-11 22:33
tiu
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-9-12
收藏
得分:0 
在构造函数中初始化

人怎样才能有恒心呢?~~~~~
2005-09-12 17:27
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
//请看下面的Demo,请用Dev来编译
#include <iostream>
#include <cstdlib>
using namespace std;

class Demo
{
private:
  static const int A =3;                    // mode 1
  enum{B = 4,C};                            // mode 2, but just for integer
  static const double PI = 3.14;
  static const int a[2];
public:
  void display()
  {
    cout<<"A is: "<<A<<endl;
    cout<<"B is: "<<B<<endl;
    cout<<"C is: "<<C<<endl;
    cout<<"PI is: "<<PI<<endl;
    cout<<"Value of const array are: "<<a[0]<<"  "<<a[1]<<endl;
  }
};
const int Dem:a[2] = {1,2};

int main()
{
    Demo demo;
    demo.display();
    system("pause");
    return 0;
}

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-09-13 02:09
russilong
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2005-8-23
收藏
得分:0 
如果不是用static const只是用const呢?据我所知,普通的常量,常量指针都可以通过构造函数初始化列表来完成。甚至常量指针数组都可以通过memset这样的函数在构造函数中简单的初始(可能并不是所有的编译器都支持),那常量数组是否可以呢?我用了很多方法都不行。

2005-09-13 08:06
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
russilong, 3楼的代码已经给了你一个解答, 按C++ 标准只有这两种模式, mode1 和 mode2, 见3楼的Demo, 如果 const 变量在 一个class 中定义, 只有上面这两种模式, 是不可以在构造函数中赋值的。

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-09-14 00:04
russilong
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2005-8-23
收藏
得分:0 
看来标准很重要,要多多熟悉

2005-09-14 09:11
快速回复:类中常量成员数组如何初始化?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019673 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved