怎么可以防止一个类被继承? 如果单纯的只是想达到目的,可以把构造函数设为私有的,但是这会是这个类无法构建出自己的对象。 那再想一想,谁和不能继承有关?对了就是友元! 大致思路:有一个工具类G ,它的构造函数是私有的,我们的目的是防止A 类被继承,还不能影响A 类的正常使用;所以将A 类设为G 类的友元类,这样就可以访问G 的私有的构造函数,为什么这样做呢?关键的一步:让A '虚继承' G 类;因为在初始化一个类时,若这个类有继承某个基类,则先初始化基类; 那目的就达成了,A 实例化对象时,一切正常,但是某个类S 想要继承A 的话,因为A 是虚继承(概念模糊的同学可以查一下),所以S 类想要实例化对象,得先初始化G 类,又因为G 的构造函数为私有,那就没办法辣!代码如下:class A; class G{private: G() {} friend class A;};class A : public virtual G{};class S : public A{};那么: A a(正确) S s(不能实例化对象)此时防止了类A 被继承