我有一个引用计数的基类,它将是我的大多数对象的父类。它有自己的小引用计数方法。问题是,这些可能是子类。在某种程度上,我正在尝试实现 NSObject,但在 C++ 中。
因此,这意味着有一个“init”方法。
因此,init 方法应该总是返回孩子的类类型。想象一下:
class BaseClass{
public:
virtual childclass* init();
}
我知道在 Objective-C 中这很容易,因为它返回 'id' 并且不需要强制转换。但是在 C++ 中没有“id”之类的东西,因此我希望有一个宏或其他东西可以自动将 childclass* 扩展为实际的子类。我对 C++ 很陌生,所以我不确定如何实现它。