2
類型轉換操作我有一個這樣的轉換:C++重載爲指針
Class1 *p1;
Class2 *p2 = new Class2();
p1 = (Class1 *) p2;
我可以覆蓋上面的類型轉換操作符返回一個自定義的Class1對象的指針? 如果是的話如何?
編輯:我確切的問題是,我有這樣的代碼:
if (*$1 == ArrayType(AnyType()))
{
$$ = ((ArrayType *) $1)->getElementsType();
}
==操作符重載所以1 $可能是anytype類型的*。
這是一個Bison/Flex項目。 yylval必須是一個指向類的指針,而不是它的一個實例。我已經定義了一個帶有子類ArrayType和AnyType的Type類(它應該與任何類型(子類)相等)。所以有時我有一個指向AnyType的指針,並且必須從它創建一個ArrayType指針。 – 2010-09-19 15:48:30