-1

2 つの例:

時間を定義したい:

class Time
{
    month(){...} 

    year(){...}

    private:

    time_t a;
}

struct Time    
{int year; int month;}

ただし、C++ では同じ名前を定義することはできません。structでは、どのように名前を定義するのでしょうか? 接頭辞または接尾辞を追加します。たとえばSTime、またはTimeStruct

同様に、色を定義したい:

class Color
{
  int color;

  red(){...}
}

enum Color
{
    e_red,

    e_green
}

名前の競合もあります。enumでは、どのように名前を定義するのでしょうか? または などのプレフィックスまたはサフィックスを追加しEColorますColorEnum

あまりにも使用して名前の競合がありunionます。では、どのように回避structし、名前がクラス名と競合するのでしょうかenum? unionプレフィックスまたはサフィックスを追加しますか?

4

1 に答える 1

4

名前空間を使用してスコープを制限できます

namespace MyClass
{
   class Time { ... };
}

namespace MyStruct
{
  struct Time { ... };
}

...
MyClass::Time c;
MyStruct::Time s;
...
于 2013-04-15T04:52:21.787 に答える