提问者:小点点

有没有一种方法可以让类在C++中自我转换[重复]


所以对于我的代码,我想构建一个四叉树。 这意味着我必须细分一个数据集。 为了解决这个问题,我想要有外部节点(A类)和内部节点(B类),以及一种将外部节点转换为内部节点的方法。

有没有一种方法让一个a类以一种可以从a类本身内部进行转换的方式转换成B类,同时保留指向它的指针?

我很抱歉,但我不知道如何更清楚地解释这一点。

class A{
public:
    int a;
    int b;

    int c;

    void convert(){

        *convert class A into class B: conserving int a and int b, and discarding int c*

    }
};

class B{
public:
    int a;
    int b;

    void* One; // can be a pointer to an instance of class A or class B
    void* Two; // can be a pointer to an instance of class A or class B
};

编辑:谢谢你的反馈,我会重新考虑我的策略。


共1个答案

匿名用户

您可能只需要一个类:

class AB
{
    int a;
    int b;

    int c;
    bool amIABObject;
};

然后,只需更改布尔值来记住你是哪种“类型”。

相关问题


MySQL Query : SELECT * FROM v9_ask_question WHERE 1=1 AND question regexp '(一种|方法|类|c++|中|自我|转换|重复)' ORDER BY qid DESC LIMIT 20
MySQL Error : Got error 'repetition-operator operand invalid' from regexp
MySQL Errno : 1139
Message : Got error 'repetition-operator operand invalid' from regexp
Need Help?