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;
    }
};

公開機能は他にもありますが、ここでは重要ではないため、省略しました。アレイにコンパイル時エラーがあります。「識別子を解決できません:週」、「予期しないトークン:{」、「予期しないトークン:}」と表示されます。誰かがこれが起こっている理由を説明できますか?「stringweek[7];」と宣言すると 次に、関数で実際の値を定義します。これは正常に機能しますが、それは面倒です。

4

2 に答える 2

3

私の知る限り、これはC++では不可能です。あなたは正確に何をしようとしていますか?JavaやC#の場合のように、C++ではOOPが強制されることはありません。

また、関数の名前はクラス名とは異なることに注意してください。これは、戻り型を省略するとコンパイラエラーが発生することを意味します[無効な戻り型にはならないことを指摘してくれたAdityaKumarに感謝します]

于 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 に答える