C++ 是否可以将继承的非常量变量赋值为C+中的常量+;?

C++ 是否可以将继承的非常量变量赋值为C+中的常量+;?,c++,C++,我正在研究两个不同的类,它们共享非常相似的特性/功能。。。所以我认为最好将共享功能合并到一个类中,每个类将继承这个类 然而,关键的区别在于,一个类要求确保某些变量为常量,而另一个类则要求这些相同的变量为非常量 例如 class SharedClass { public: const GetXPlusY() const { return x+y; } const int x; cons

我正在研究两个不同的类,它们共享非常相似的特性/功能。。。所以我认为最好将共享功能合并到一个类中,每个类将继承这个类

然而,关键的区别在于,一个类要求确保某些变量为常量,而另一个类则要求这些相同的变量为非常量

例如

class SharedClass {
    public:
        const GetXPlusY() const
        {
            return x+y;
        }

        const int x;
        const int y;
    private:
};

class RequiresConst:
    public SharedClass
{
    public:

    private:
};

class DoesNotRequireConst:
    public SharedClass
{
    public:
        const LockedGetXPlusY() const
        {
            // Add a lock here since our x/y values aren't const here.
            return GetXPlusY();
        }

        // Redefine x and y is non-const somehow...
        int x;
        int y;
    private:
};

我不确定C++中是否有可能。

私有成员在派生类中不可见。没有什么能阻止您将相同的名称与完全不同的类型和限定符一起使用。他们完全没有关系。XY问题?成员直接为const(相对于指针或对const的引用)几乎毫无意义,所以为什么要这样做呢?如果
SharedClass
有一个方法
void set_x(int-value){x=value;}
?您希望如何使用
RequiresConst
?@chrisdd确保在我不知道的情况下,多线程应用程序中的值不会更改。这样就不用在它周围加锁了…@Cornstales我不会在SharedClass内部有一个set_x方法,只有在DoesnotreConst内部。。。但是我确实需要从所有3个函数中访问SharedClass的X。。。关键的区别在于常数差。