将类强制转换为不同的二进制相等类是否安全?

时间:2017-11-08 17:23:00

标签: c++ class oop inheritance casting

我想知道将一个类放到二元相等的类是否安全,但是不是同一个类。

背景:我想做一些操作员魔法,而不是"污染"原班(这里是A)。

class A
{
public:
    int x;
    virtual ~A() = default;
};

class B : public A
{
public:
    B(int x) { this->x = x; }
    bool operator==(const B& b)
    {
        return x == b.x;
    }
};


    A a;
    a.x = 1;
    B* b = (B*)&a;
    *b == B(1);

这适用于我的所有系统,但安全/便携吗?

0 个答案:

没有答案