c++如何生成一个不能被继承的类
在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++如何生成一个不能被继承的类相关推荐
- c++设计一个不能被继承的类
摘要:使用友元.私有构造函数.虚继承等方式可以使一个类不能被继承,可是为什么必须是虚继承?背后的原理又是什么? 用C++实现一个不能被继承的类(例1) 1 #include <iostream& ...
- 由创建一个不能被继承的类引发的对象模型的思考
昨天吃饭和宽妹讨论起以前看过的如何创建一个不能被继承的类,具体实现见 http://blog.csdn.net/kuaile123/article/details/21321471 同学提到了第一种方 ...
- 用C++ 设计一个不能被继承的类
题目:用C++ 设计一个不能被继承的类. 分析:这是Adobe 公司2007 年校园招聘的最新笔试题.这道题除了考察应聘者的C++ 基本功底外,还能考察反应能力,是一道很好的题目. 在Java 中定义 ...
- 用C++设计一个不能被继承的类
在C#中定义了关键字sealed,被sealed修饰的类不能被继承.在Java中同样也有关键字final表示一个类型不能被继承.在C++中没有类似于sealed和final的关键字,所以我们只有自己来 ...
- 如何定义一个不能被继承的类
为什么80%的码农都做不了架构师?>>> class VString{//默认的存取控制方式就是私有VString();VString(char*);VString(strin ...
- 动态生成一个继承接口的类
接口: namespace LibertyPortal.Main.IDAL { public interface Interface1 { void www(); ...
- 实现一个不能被继承的类
在c++98中,我们将构造函数私有化,这个类将无法被继承 在c++11中提供了final ,final关键字修饰的类为最终类,表明该类不能被继承 //C++98:将构造函数私有化,此类可不被继承 cl ...
- 写一个不能被继承的类(友元的不可继承性)
template<class T> class A { public:friend T; private:A() {}~A() {} };class B:virtual public A& ...
- 多态指针访问虚函数不能被继承的类快速排序N皇后问题插入排序堆排序merge归并排序栈上生成对象两个栈实现一个队列...
多态 /*1. 要想实现覆盖(重写)父类必须声明为virtual,子类可以不声明为virtual.-->FunB()2. 派生类重写基类的虚函数实现多态,要求函数名.参数列表.返回值完全相同.( ...
- C++ 中不能被继承的类实现,及从中体现virtual 继承的一个特性
C++ view第一期中给出了如何实现一个不能被继承的类的方法. 如下: #ifdef NDEBUG #define FINAL_CLASS #else #define FINAL_CLASS : p ...
最新文章
- 漫谈云计算、虚拟化、容器化--云平台技术栈05
- Logstash5.4.1解析日志报错处理
- python mysql绑定变量_python 数据库绑定变量
- Java虚拟机详解05----垃圾收集器及GC参数
- android模拟用户输入
- python xgboost用法_XGBoost使用教程(纯xgboost方法)一
- 以串结构存储c语言版,数据结构C语言版 串的块链存储表示和实现
- Word2016Word2019如何取消自动编号
- 影视光盘制作专家 6.3简体中文免费版
- 人工智能趋势:语音识别发展前景广阔
- 单表mysql分页查询语句怎么写_MySQL单表百万数据记录分页性能优化技巧
- mapguide 2011
- 开关电源matlab仿真,用数学方法建立一种开关电源全系统的仿真模型
- 给定一段IP地址172.18.18.128/26,试为该网络做一个IP地址规划,要求开 发室1、开发室2以及制造部各为一个VLAN。
- [渝粤教育] 西南科技大学 英语国家概况 在线考试复习资料
- UI面试官的哪些问题让你感觉很高明?
- samba介绍、搭建及坑
- 360 android框架,360 董福源 - Android框架虚拟化实战.pdf
- 如何礼貌的拒绝offer
- 读ElasticSketch笔记