首页 > 解决方案 > 可以从 Visual Studio 的成员/函数列表中隐藏类/结构中的重载运算符,而不会使其无法访问。[C++]

问题描述

正如标题所说。我想知道我是否可以在不使用 private: 或 protected: 的情况下从 Visual Studio 的成员/函数列表中隐藏类/结构的重载运算符(见下图),这使得运算符在 C++ 中无法访问。

通过类/结构名称::UnwantedThingsHere 访问

通过声明的变量 class/struct a, a.UnwantedThingsHere 访问

结构和运算符重载的声明:

struct WInt32 final : public WObject
{
private:
    int _Value;
public:
    WInt32();
    WInt32(int value);
    ~WInt32();
public:
    WBool Equals(WObject* obj) override;
    WString ToString() override;
public:
    explicit operator int() const;
    explicit operator WuInt32() const;
    WInt32 operator+(WInt32 b);
    WInt32 operator-(WInt32 b);
    WInt32 operator*(WInt32 b);
    WInt32 operator/(WInt32 b);
    void operator++(int);
    void operator--(int);
    WInt32 operator%(WInt32 b);
    WBool operator==(WInt32 b);
    WBool operator!=(WInt32 b);
    WBool operator>(WInt32 b);
    WBool operator>=(WInt32 b);
    WBool operator<(WInt32 b);
    WBool operator<=(WInt32 b);
public:
    const WInt32 MaxValue();
    const WInt32 MinValue();
};

标签: c++visual-studiooperator-overloadingintellisensevisibility

解决方案


推荐阅读