C++中不能被继承的类的实现
来源:互联网 发布:linux中sort命令 编辑:程序博客网 时间:2024/05/16 11:44
首先,了解下什么是虚继承-- 为了解决菱形继承的多义性
#include <iostream>using namespace std;class Animal{public: void foo() { cout << "Animal foo"<<endl; }};class Mammal : public virtual Animal{};class WingedAnimal : public virtual Animal{};class Bat: public Mammal,public WingedAnimal{};int main(int argc, char* argv[]){ Bat b; b.foo(); return 0;}
则基于C++的一个不能被继承的类写法如下:
#include <iostream>using namespace std;class Parent{ friend class FinalClass;private: Parent() { cout << "Parent ctor"<<endl; }};
//虚继承
class FinalClass : public virtual Parent{};class SubChild: public FinalClass{};int main(){ FinalClass finalClass;
//SubChild不能再实例化了,编译错误
//SubChild test; return 0;}
- 【c++】实现一个不能被继承的类
- C++中不能被继承的类的实现
- c++中如何实现一个不能被继承的类
- C++实现不能被继承的类
- c++实现不能被继承的类
- Java中不能被继承的类
- 不能被继承的类[C/C++/C#]
- C++实现一个不能继承的类
- 不能被继承的类
- 不能被继承的类
- 不能被继承的类
- 不能被继承的类
- 不能被继承的类
- 不能被继承的类
- 不能被继承的类
- 不能被继承的类
- 不能被继承的类
- 不能被继承的类
- 单元测试实践的主要问题与解决
- Spring quartz 动态 triiger
- 质量大师【汇总】
- 浏览器探究——webkit部分——HTMLinput标签
- REX系统简介
- C++中不能被继承的类的实现
- ubuntu 安装ncurses
- 黑马程序员-异常
- linux解压超过2G大文件
- QT实现窗口圆角
- 替换SQL字段中的换行符,回车符
- 浏览器探究——WebKit部分——支持WML
- linux下fcitx五笔与拼音相互切换的快捷键
- jenkins 使用 maven的pom.xml编译的时候提示 错误: 编码GBK的不可映射字符