用C++设计一个不能被继承的类
来源:互联网 发布:淘宝店铺购买 编辑:程序博客网 时间:2024/06/10 04:37
用C++设计一个不能被继承的类(转)
(2008-06-30 21:30:46)文化
分类: 学习题目:用C++设计一个不能被继承的类。
分析:这是Adobe 公司2007 年校园招聘的最新笔试题。这道题除了考察应聘者的C++ 基本功底外,还能考察反应能力,是一道很好的题目。
在Java 中定义了关键字final ,被final 修饰的类不能被继承。但在C++ 中没有final 这个关键字,要实现这个要求还是需要花费一些精力。
首先想到的是在C++ 中,子类的构造函数会自动调用父类的构造函数。同样,子类的析构函数也会自动调用父类的析构函数。要想一个类不能被继承,我们只要把它的构造函数和析构函数都定义为私有函数。那么当一个类试图从它那继承的时候,必然会由于试图调用构造函数、析构函数而导致编译错误。
可是这个类的构造函数和析构函数都是私有函数了,我们怎样才能得到该类的实例呢?这难不倒我们,我们可以通过定义静态来创建和释放类的实例。基于这个思路,我们可以写出如下的代码:
///////////////////////////////////////////////////////////////////////
// Define a class which can't be derived from
///////////////////////////////////////////////////////////////////////
class FinalClass1
{
public :
private :
};
- 设计一个不能被继承的类
- 设计一个不能被继承的类
- 设计一个不能被继承的类
- 设计一个不能被继承的类
- 设计一个不能被继承的类
- 设计一个不能被继承的类
- 设计一个不能被继承的类
- 设计一个不能被继承的类
- 设计一个不能被继承的类
- 用C++设计一个不能被继承的类
- 用C++设计一个不能被继承的类
- 用C++ 设计一个不能被继承的类
- [转]用C++ 设计一个不能被继承的类
- 用C++设计一个不能被继承的类
- 用C++设计一个不能被继承的类
- 用C++ 设计一个不能被继承的类。
- 用 C++ 设计一个不能被继承的类
- 用C++设计一个不能被继承的类
- 搬运工 Spring MVC 教程,快速入门,深入分析
- javaweb学习总结(java增强)
- 双向冒泡排序
- [Leetcode] Generate Parentheses (Java)
- 设计模式之模板模式
- 用C++设计一个不能被继承的类
- 对于.swp文件的恢复方法
- 2014年公益收房验房活动火热召集中!陪你走过放心装修路!
- 初创IT公司里开发者最容易犯的九种错误
- 用Quartz进行作业调度
- <c:if>标签中empty的用法
- 多么痛的领悟!——我的2013拾遗总结
- Java中数组用法
- UIAPPLICATIONDELEGATE 代理函数调用的时间(应用程序生命周期)