C++重载指针的类型转换操作符

Pan*_*sis 2 c++ pointers casting operator-overloading bison

我有这样的转换:

Class1 *p1;
Class2 *p2 = new Class2();
p1 = (Class1 *) p2;
Run Code Online (Sandbox Code Playgroud)

我可以覆盖上面的类型转换操作符以返回自定义的Class1对象指针吗?如果有,怎么样?

编辑:我的确切问题是我有这样的代码:

if (*$1 == ArrayType(AnyType()))
{
    $$ = ((ArrayType *) $1)->getElementsType();
}
Run Code Online (Sandbox Code Playgroud)

运算符==超载,因此$ 1可能是AnyType*类型.

Dav*_*eas 5

不,您不能重载非类型的转换运算符.

您想要解决的实际问题是什么?您可能需要考虑在实际类中提供转换运算符.