/*
面向对象:
多态,
继承
封装
*/
#include <stdio.h>
#include <stdlib.h> //一旦有了纯虚函数,该对象就不能实例化了.
#define USE_PURE_VIRTUAL_FUNC 1 class CBase
{
public:
CBase(){}
~CBase(){}
public:
void doA()//不标virtual,说明不想被子类重载,如果遇到基类对象指针,则使用该函数时永远是用基类的
{
printf("call %s\n",__FUNCTION__);
}
virtual void doB()
{
printf("call %s\n",__FUNCTION__);
}
#if USE_PURE_VIRTUAL_FUNC > 0
virtual void doC() = ;//父类不实现,但子类必须实现.
#endif }; class CChild:public CBase
{
public:
CChild():CBase()
{};
~CChild(){};
public:
void doA()
{
printf("child call doA\n");
}
virtual void doB()
{
printf("child call doB\n");
}
#if USE_PURE_VIRTUAL_FUNC > 0
virtual void doC()
{
printf("child call doC\n");
}
#endif
}; int main(void)
{
#if USE_PURE_VIRTUAL_FUNC <= 0
CBase* pB = new CBase();
CChild* pC = new CChild(); pB->doA();
pB->doB(); pC->doA();
pC->doB(); CBase* pTemp = pB;
pTemp->doA();
pTemp->doB(); pTemp = pC;
pTemp->doA();
pTemp->doB(); delete pB;
delete pC;
#else
CChild* pC = new CChild(); pC->doA();
pC->doB(); CBase* pTemp = NULL;
pTemp = pC;
pTemp->doA();
pTemp->doB();
pTemp->doC(); delete pC;
#endif return ;
}

C++概念整理的更多相关文章

  1. 【知识点】业务连接服务(BCS)认证概念整理

    业务连接服务(BCS)认证概念整理 I. BDC认证模型 BDC服务支持两种认证模型:信任的子系统,模拟和代理. 在信任的子系统模型中,中间层(通常是Web服务器)通过一个固定的身份来向后端服务器取得 ...

  2. DNS,TCP,IP,HTTP,socket,Servlet概念整理

    DNS,TCP,IP,HTTP,socket,Servlet概念整理   常见的协议虽然很容易理解,但是看了之后过一段时间不看还是容易忘,笔记如下,比较零碎,勉强供各位复习.如有错误欢迎指正.   D ...

  3. IIS Web 服务器/ASP.NET 运行原理基本知识概念整理 转

    转http://www.cnblogs.com/loongsoft/p/7272830.html IIS Web 服务器/ASP.NET 运行原理基本知识概念整理  前言:      记录 IIS 相 ...

  4. AIFramework基本概念整理

    AIFramework基本概念整理 本文介绍: 对天元 MegEngine 框架中的 Tensor, Operator, GradManager 等基本概念有一定的了解: 对深度学习中的前向传播.反向 ...

  5. 西瓜书概念整理(chapter 1-2)

    括号表示概念出现的其他页码, 如有兴趣协同整理,请到issue中认领章节 完整版见我的github:ahangchen 觉得还不错的话可以点个star ^_^ 第一章 绪论 Page2: 标记(lab ...

  6. IIS Web 服务器/ASP.NET 运行原理基本知识概念整理

     前言:      记录 IIS 相关的笔记还是从公司笔试考核题开始的,问 Application Pool 与 AppDomain 的区别?      促使我对进程池进了知识的学习,所以记录一下学习 ...

  7. 西瓜书概念整理(chapter 1-2)熟悉机器学习术语

    括号表示概念出现的其他页码, 如有兴趣协同整理,请到issue中认领章节 完整版见我的github:ahangchen 觉得还不错的话可以点个star ^_^ 第一章 绪论 Page2: 标记(lab ...

  8. python深度学习培训概念整理

    对于公司组织的人工智能学习,每周日一天课程共计五周,已经上了三次,一天课程下来讲了两本书的知识.发现老师讲的速度太快,深度不够,而且其他公司学员有的没有接触过python知识,所以有必要自己花时间多看 ...

  9. G-sensor概述及常用概念整理【转】

    本文转载自:http://www.jianshu.com/p/d471958189a0?nomobile=yesG 本文对G-sensor进行整理,先介绍G-sensor的一些基本概念,再具体讲解BO ...

  10. storm - 基础概念整理

    理论 Hadoop的出现虽然为大数据计算提供了一条捷径,但其仍然存在自身难以克服的缺点:实时性不足.Hadoop的一轮计算的启动需要较长时间,因此其满足不了对实时性有较高要求的场景. Storm由此应 ...

随机推荐

  1. How can I view currently running MySQL queries?( 查看正在运行的MySQL语句/脚本命令)

    show processlist;show processlist\G;SHOW FULL PROCESSLIST;SHOW FULL PROCESSLIST\G; REF:http://dev.my ...

  2. 深入浅出设计模式——访问者模式(Visitor Pattern)

    模式动机 对于系统中的某些对象,它们存储在同一个集合中,且具有不同的类型,而且对于该集合中的对象,可以接受一类称为访问者的对象来访问,而且不同的访问者其访问方式有所不同,访问者模式为解决这类问题而诞生 ...

  3. yii2-更改默认显示的通用主页

    在views/layouts/目录下新建一个login.php,然后SiteController中更新下面的方法 public function actionIndex() { $this->l ...

  4. mysql sql常用语句大全

    SQL执行一次INSERT INTO查询,插入多行记录 insert into test.person(number,name,birthday) values(5,'cxx5',now()),(6, ...

  5. features block

    很轻松就能把一个新建的block导出到一个module包里.

  6. 再说最后一次!关于不再更新SkySRS的理由!

    再说最后一次!关于不再更新SkySRS的理由! https://www.itiankong.net/thread-195937-1-1.html Skyfree 发表于 2012-5-1 14:53: ...

  7. js格式化数字和金额

    格式化数字,格式化金额: function number_format(number, decimals, dec_point, thousands_sep) { /* * 参数说明: * numbe ...

  8. freemarker if elseif

    FreeMarker模板 if, else, elseif 指令 : if, else, elseif 语法 <#if condition> ... <#elseif conditi ...

  9. guava学习--事件驱动模型

    转载:http://www.cnblogs.com/whitewolf/p/4132840.html   http://www.cnblogs.com/peida/p/EventBus.html 更好 ...

  10. 电脑自动访问g.ceipmsn.com

    电脑老师每隔1分3秒自动访问 g.ceipmsn.com这个域名 经过排查发现是TeamViewer8在作怪,好像是一直在激活引起的 关闭TeamViewer程序就好了.