class A {};
class B {
operator A *() const { return new A(); }
};
请问,怎么通过B类的实例调用“operator A *() const”这个方法?
class A {};
class B {
operator A *() const { return new A(); }
};
请问,怎么通过B类的实例调用“operator A *() const”这个方法?
*运算符作为单目运算符(取实例),放在操作数的左侧,调用时应该这样
B x;
A * t=*x;
这样重载,看起来B的实例就是一个指针,运算符把指针转成一个实例,但这个实例是A的指针,所以B重载了运算符之后,B看起来就像是一个指向A的指针的指针。
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.3k 阅读✓ 已解决
1 回答3.3k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.5k 阅读
3 回答513 阅读✓ 已解决
这个是自定义类型装换,在
class B
的对象需要转换为class A
的指针(A*
)的时候,使用这一函数。