2014-02-26 71 views
-1

如何确定一个类是否没有派生类?任何类型特征方法都有帮助?如何确定一个类是否没有派生类?

我想写出一些数据。这些数据是通过一个像这样的指针创建的

unique_ptr<A> a(new A); 

如果A类没有子类,我只写出数据内容。如果A有子类,我会先写出它的具体类型,然后写出数据内容。在读取数据时,在读取具体类型之后,我知道使用什么具体类型来创建指针,然后读取数据内容。因此,我认为我必须确定A是否具有子类别?

+4

你想解决什么问题?可能有更好的方法。这听起来像是[X-Y问题](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。 –

+1

由于单独编译,我不认为这是可能的。我同意你应该发布你想要完成的事情。 – delnan

+3

只需使用多态。这就是它的发明。 – juanchopanza

回答

1

这是不可能的,因为一个类不知道什么(如果存在)类从它派生。

struct foo {}; 

struct bar : foo {}; 

static_assert(std::is_base_of<foo,bar>::value); 
相关问题