C++程序设计语言练习 12.1 虚基类的简单实现
来源:互联网 发布:淘宝免费代销货源 编辑:程序博客网 时间:2024/04/28 05:44
我的代码如下:
#include "stdafx.h"#include <iostream>using std::cout;class Base{public:virtual void iam(){ cout << "Base\n"; }virtual ~Base(){};};class deriveA:public Base{public:void iam() override { cout << "DeriveA\n"; }};class deriveB :public Base{public:void iam() override { cout << "DeriveB\n"; }};void print(Base * bp){bp->iam();}int _tmain(int argc, _TCHAR* argv[]){deriveA a;deriveB b;a.iam();b.iam();deriveA *ap = &a;deriveB *bp = &b;print(ap);print(bp);return 0;}
由于在虚基类中没有数据成员,因此不需要构造函数,但是需要定义虚析构函数,确保有数据成员的派生类被正常清理。
override保留字只是作为强调说明,并不是C++关键字,没有强制意味。
派生类指针可以直接传给基类指针变量,并且可以完美确定类方法的调用。
0 0
- C++程序设计语言练习 12.1 虚基类的简单实现
- C++程序设计语言练习6.16 atoi 的实现
- C++程序设计语言练习6.17 itoa 的实现
- C程序设计语言 练习 第一章
- C++程序设计语言练习 10.2 一个简单的date类
- C程序设计语言练习2-3
- C程序设计语言练习2-4
- C程序设计语言练习2-5
- C程序设计语言练习2-10
- C程序设计语言练习3-1
- C程序设计语言练习3-2
- C程序设计语言练习3-3
- C程序设计语言练习3-4
- C程序设计语言练习3-5
- C程序设计语言练习4-1
- C程序设计语言练习4-2
- C程序设计语言练习4-3
- 《C程序设计语言》练习3-3
- iOS开发中的性能优化(中)
- Nagle算法及其禁用
- liunx 脚本执行,中文乱码问题
- android studio获取MD5和SHA1值最简单方便的方法
- 微信video遮挡问题
- C++程序设计语言练习 12.1 虚基类的简单实现
- Android 仿淘宝商品详情页下拉足迹Demo
- Windows 核心编程 学习笔记 (第三部分)
- 服务器集群的session管理
- 单点登录
- mybatis入门
- caffe安装之Ubuntu14.04总结(CUDA7.5+cuDNN(v5)+python2.7))
- 上传控件Uploadify,jQuery遮罩层
- 从头到尾彻底解析哈希表算法(1)