1

我正在做一个 C++ 项目。在使用 Java 之后,我正在自学 C++。代码:

#include <iostream>
#include <string>

using namespace std;
class dayType
{
private:
    string day;
    string week[] = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};


public:
    dayType()
    {
        day = "Monday";
        dayID = 0;
    }
};

还有更多的公共函数,但我把它们省略了,因为它们在这里并不重要。数组存在编译时错误。它说它是“无法解析标识符:周”、“意外令牌:{”和“意外令牌:}”。有人可以解释为什么会这样吗?如果我将其声明为“字符串周 [7];” 然后在函数中定义实际值,它工作正常,但这很痛苦。

4

2 回答 2

3

据我所知,这在 C++ 中是不可能的。你到底想做什么?在 C++ 中,OOP 不会像在 Java 或 C# 中那样强加给您。

另请注意,您的函数名称与您的类名称不同。这意味着省略返回类型将导致编译器错误[感谢 Aditya Kumar 指出它不会导致 void 返回类型]

于 2012-07-08T05:00:46.217 回答
1

您正在寻找的 C++ 功能是“静态类成员”。这是语法:

#include <iostream>
#include <string>

using namespace std;
class dayType
{
private:
    string day;
    static string week[];

public:
    void Project113()
    {
        day = "Monday";
        dayID = 0;
    }
};


// Note that if the class definition is in a .H file, the following line should
// appear in exactly one .CPP file.
string dayType::week[] = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
于 2012-07-08T05:20:43.237 回答