快速而愚蠢的问题.如果我不允许使用全局变量,如何声明数组的大小?
假设我有文件Album.h:
class Album {
private:
Song songs[MAX_SONGS];
//...
}
Run Code Online (Sandbox Code Playgroud)
我在哪里放MAX_SONGS = 30?
const int MAX_SONGS = 30
被认为是一个变量吧?请注意,整个程序应该知道大小.
class Album {
private:
static const int MAX_SONGS = 100;
Song songs[MAX_SONGS];
//...
};
Run Code Online (Sandbox Code Playgroud)
请注意,静态const变量的内联初始化仅允许类型为整数的那些.另请注意,无论初始化如何,这仍然只是一个声明而不是定义.您通常不需要这个定义,尽管在某些情况下您会这样做.
至于可见性,您可以提供一个返回MAX_SONGS的静态getter函数.
public:
static int GetMaxSongs() { return MAX_SONGS; }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26696 次 |
| 最近记录: |