在java 中final  可以定义 一个类不能被继承,c++中没有这个,但是c++可以实现这个类。

大家知道union 是不能被继承的

1.union,匿名类

union  finaClass

{

public:

class

{

.......。。。。。。。

} data

};

finalClass finaData;

这样匿名类只能用,不能被继承。

2.利用虚继承

template<typename T> class Base
{
public :
friend T;
private : 
Base(){ cout<<"base"<<endl;}
~Base(){}

};

class FinalClass :virtual public Base<FinalClass>
{
public :
FinalClass()
{
cout<<"final class"<<endl;
}
};

class CC :public FinalClass  // 错误,CC无法访问 Base构造函数,该构造函数为private ;
{
public :
CC(){cout<<"cc"<<endl;}
};

c++如何生成一个不能被继承的类相关推荐

  1. c++设计一个不能被继承的类

    摘要:使用友元.私有构造函数.虚继承等方式可以使一个类不能被继承,可是为什么必须是虚继承?背后的原理又是什么? 用C++实现一个不能被继承的类(例1) 1 #include <iostream& ...

  2. 由创建一个不能被继承的类引发的对象模型的思考

    昨天吃饭和宽妹讨论起以前看过的如何创建一个不能被继承的类,具体实现见 http://blog.csdn.net/kuaile123/article/details/21321471 同学提到了第一种方 ...

  3. 用C++ 设计一个不能被继承的类

    题目:用C++ 设计一个不能被继承的类. 分析:这是Adobe 公司2007 年校园招聘的最新笔试题.这道题除了考察应聘者的C++ 基本功底外,还能考察反应能力,是一道很好的题目. 在Java 中定义 ...

  4. 用C++设计一个不能被继承的类

    在C#中定义了关键字sealed,被sealed修饰的类不能被继承.在Java中同样也有关键字final表示一个类型不能被继承.在C++中没有类似于sealed和final的关键字,所以我们只有自己来 ...

  5. 如何定义一个不能被继承的类

    为什么80%的码农都做不了架构师?>>>    class VString{//默认的存取控制方式就是私有VString();VString(char*);VString(strin ...

  6. 动态生成一个继承接口的类

    接口: namespace LibertyPortal.Main.IDAL {     public interface Interface1     {         void www();    ...

  7. 实现一个不能被继承的类

    在c++98中,我们将构造函数私有化,这个类将无法被继承 在c++11中提供了final ,final关键字修饰的类为最终类,表明该类不能被继承 //C++98:将构造函数私有化,此类可不被继承 cl ...

  8. 写一个不能被继承的类(友元的不可继承性)

    template<class T> class A { public:friend T; private:A() {}~A() {} };class B:virtual public A& ...

  9. 多态指针访问虚函数不能被继承的类快速排序N皇后问题插入排序堆排序merge归并排序栈上生成对象两个栈实现一个队列...

    多态 /*1. 要想实现覆盖(重写)父类必须声明为virtual,子类可以不声明为virtual.-->FunB()2. 派生类重写基类的虚函数实现多态,要求函数名.参数列表.返回值完全相同.( ...

  10. C++ 中不能被继承的类实现,及从中体现virtual 继承的一个特性

    C++ view第一期中给出了如何实现一个不能被继承的类的方法. 如下: #ifdef NDEBUG #define FINAL_CLASS #else #define FINAL_CLASS : p ...

最新文章

  1. 漫谈云计算、虚拟化、容器化--云平台技术栈05
  2. Logstash5.4.1解析日志报错处理
  3. python mysql绑定变量_python 数据库绑定变量
  4. Java虚拟机详解05----垃圾收集器及GC参数
  5. android模拟用户输入
  6. python xgboost用法_XGBoost使用教程(纯xgboost方法)一
  7. 以串结构存储c语言版,数据结构C语言版 串的块链存储表示和实现
  8. Word2016Word2019如何取消自动编号
  9. 影视光盘制作专家 6.3简体中文免费版
  10. 人工智能趋势:语音识别发展前景广阔
  11. 单表mysql分页查询语句怎么写_MySQL单表百万数据记录分页性能优化技巧
  12. mapguide 2011
  13. 开关电源matlab仿真,用数学方法建立一种开关电源全系统的仿真模型
  14. 给定一段IP地址172.18.18.128/26,试为该网络做一个IP地址规划,要求开 发室1、开发室2以及制造部各为一个VLAN。
  15. [渝粤教育] 西南科技大学 英语国家概况 在线考试复习资料
  16. UI面试官的哪些问题让你感觉很高明?
  17. samba介绍、搭建及坑
  18. 360 android框架,360 董福源 - Android框架虚拟化实战.pdf
  19. 如何礼貌的拒绝offer
  20. 读ElasticSketch笔记

热门文章

  1. 深度学习笔记:随机种子的作用
  2. 德标螺纹规格对照表_德标DIN934六角螺母,不锈钢六角螺母DIN934
  3. 【数字图像处理5.3】SLIC算法 超像素分割(无监督聚类方式)python
  4. 电阻的快速选型对开发项目非常重要
  5. linux下安装ansys
  6. 利用MATLAB对乐曲进行钢琴演奏【matlab调音_1】
  7. C#生成GS1码制二维码
  8. 常用医学科研软件有哪些?
  9. 人口增长模型 源代码
  10. 2018程序员必读书单