嗨,任何人都让我知道如何使课程根本不可导出。有什么办法吗?请告诉我。哈拉
请参阅this解释如何做到这一点,以及为什么它可能不是一个好主意,由Bjarne Stroustrup(C ++自己的创造者)。
如果您的类具有私有构造函数,则无法实例化派生类。
请参阅C ++ FAQ Lite上的"How can I set up my class so it won't be inherited from?"。
让ctor(s)私密。
class not_derivable { private: not_derivable(){} };
class derived : public not_derivable {};
int main() { derived d; // diagnostic }
或者dtor:
class not_derivable { private: ~not_derivable(){} };
class derived : public not_derivable {};
int main() { not_derivable *nd = new not_derivable; derived d; //diagnostic }
使构造函数私有。