定义类成员函数时应该使用 Color 还是 Car::Color ?

问题描述 投票:0回答:1

我正在开发一个 C++ 类,并且有一个关于在类中使用枚举类的最佳实践的问题。

考虑以下代码:

class Car {
public:
    enum class Color {
        Red,
        Green,
        Blue
    };

    // Member function that returns Car::Color type
    Car::Color getColor() const {
        return Car::Color::Red;  // Returning a constant enum value
    }
};

在此示例中,我有一个返回

Car::Color
枚举类类型的成员函数。我的问题是:在类内部定义成员函数时,仅使用
Color
是否被认为是更好的做法,因为它已经在类范围内,或者我应该显式使用
Car::Color

换句话说,函数定义应该是:

Color getColor() const {  // Just Color
    return Color::Red;
}

Car::Color getColor() const {  // Explicitly using Car::Color
    return Car::Color::Red;
}

哪种方法通常被认为是更好的做法,为什么?

谢谢!

c++ class c++11 enums
1个回答
0
投票

这两者的工作方式完全相同,并且取决于程序员,我个人会使用 Car::color 因为它使其更具可读性,并表示它是汽车的颜色。

© www.soinside.com 2019 - 2024. All rights reserved.