在C++中,子类的构造函数会自动调用父类的构造函数子类的析构函数也会自动调用父类的析构函数。
方法一:
要想一个类不能被继承,最简单的方式:把它的构造函数和析构函数都定义为私有函数。
那么当一个类试图从它那继承的时候,必然会由于试图调用构造函数、析构函数而导例致编译错误。但是这样的话,通过private的构造函数与析构函数无法得到该类的实例。
方法二:
可以通过定义公有的静态函数来创建和释放类的实例,这样,该类不能被继承但是可以被实例化。
程序来自这篇文章:文章
#include<iostream>
using namespace std;
class SealedClass
{
private: // 私有成员
SealedClass() { }; // 构造函数
~Seal

本文介绍了两种C++中阻止类被继承的方法:将构造函数和析构函数设为私有,以及使用公有的静态工厂方法创建实例。这两种方式能确保类的封闭性,但前者无法实例化类,后者限制了实例的创建位置。

9121

被折叠的 条评论
为什么被折叠?



