基本問題是否有人知道在C++中的這種方法?第2類是Class1的子類,它必須保持這種狀態。C++指針強制重載
Class1* a;
Class2* b = (Class2*)a;
basically allowing you
Class1* a;
Class2* b = a;
// tried this but didn't seem to work
class Class1
{
operator Class2*() { return (Class2*)this; }
}
我真的無法找到任何東西,對不起,如果這是一個弱智的問題/複製,但並沒有完全讓我解決這個頭。如果someoen有類似的東西,將不勝感激。
編輯:一些額外的信息 的Class1 =基類如球員 類2 =子類如武器
的Class1具有指向具有類似起源相同的價值觀
球員有一個指針指向武器 子類基本我想要做的就是
GetEntity返回類型的球員的指針(但返回值也可以是武器)
基本上現在就是我想要做的就是像自動化
Player* p = GetEntity(0);
Player* p2 = GetEntity(1);
Weapon wpn = (Weapon*)p2;
//so that you are able to do
Weapon wpn = p2;
// Also that Stuff like that would be possible
void Test(Weapon *wpn);
Player *player = GetEntity(1);
// Yes I know this works Test((Weapon*)player) but I am lazy and that's the goal
Test(player);
鑄造它的過程,而不鑄造它。
公有繼承...... – StoryTeller
即使我在Class1的Class2中插入數據,我仍然需要投射我試圖自動化的指針。 – Shizo
不,你讓'Class1'繼承自'Class2' ...決定你的後面是哪一個* -a *關係。 – StoryTeller