类内部的 static、const、enum 变量
发布日期:2021-11-13 02:34:57 浏览次数:4 分类:技术文章

本文共 558 字,大约阅读时间需要 1 分钟。

1. 只有当成员变量为static const 时,才可以在声明时直接定义,如下:

 

class X

{

public:

static const m_n = 100;

}

 

 

当然也可以将声明与定义分开,如下:

 

 

class X

{

public:

static const m_n;

}

 

 

// cpp文件

const int X::m_n = 100;

 

2.当成员变量为const时,只有在构造函数时,通过初始化列表初始化,如下:

 

 

class X

{

public:

X();

 

private:

const m;

const n;

}

 

 

//cpp

X::X(...):M(xx), n(oo)

{

}

 

 

3.当遇到在类内声明的常量,在类定义期间还需要使用,而此时该常量还未定义(赋值),比如,数组的长度,该如何解决?可使用枚举,如下:

 

// 错误  编译不过

class X

{

public:

X();

 

private:

const length = 10; // error 原因见条目2

char buf[length];

}

 

// 解决办法

class X

{

public:

X();

 

private:

enum {length = 10};

char buf[length];

}

 

利用枚举值可当做整型使用的特点

转载地址:https://blog.csdn.net/johnice/article/details/5425465 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:effective c++ 第三版 读书笔记1
下一篇:c++ 类成员函数指针

发表评论

最新留言

不错!
[***.144.177.141]2024年04月05日 17时33分15秒