由于之前看过C++的一些知识,所以这一章就挑一点以前比较不太在意的进行记录

首先是虚函数,纯虚函数

虚函数用关键字virtual申明,我理解成为派生类提供覆盖

纯虚函数virtual xxx()=xxx;  这个我理解成抽象类,接口之类的,供派生类进行实现。

下面的例子说明覆盖和隐藏的区别:

(概括下:函数的覆盖是发生在基类和派生类之间的,两个函数必须相同,并且有虚函数,除这种情况之外的就是隐藏了)

个人觉得隐藏和覆盖类似于java中的多态:父类的引用指向子类的对象

#include <iostream.h>
class Base
{
public:
virtual void xfn(int i)
{
cout << "Base :: xfn(int i)" << endl;
} void yfn(float f)
{
cout << "Base :: yfn(float f)" << endl;
} void zfn()
{
cout << "Base :: zfn()" <<endl;
}
}; class Derived : public Base
{
public:
void xfn(int x) //覆盖
{
cout << "Drived :: xfn(int i)" << endl;
} void yfn(int c) //隐藏
{
cout << "Drived :: yfn(int c)" << endl;
} void zfn() //隐藏
{
cout << "Drived :: zfn()" << endl;
} }; void main()
{
Derived d;
Base *pB = &d;
Derived *pD = &d; pB ->xfn(5);
pD ->xfn(5); pB ->yfn(3.14f);
pD ->yfn(3.14f); pB ->zfn();
pD ->zfn();
}

接触到一个新的交换顺序的方法。。。觉得挺好玩,记录下。。

void change(int &a, int &b)
{
a = a + b;
b = a - b;
a = a - b;
}

VC++深入详解-第二章学习心得的更多相关文章

  1. VC++深入详解-第一章学习心得(一)

    句柄是系统为资源分配内存的标识号. 相当于一个指针指向一块内存空间,我暂时理解成一个地址,一个门牌号 HWND 窗口句柄 HICON 图标句柄 HCURSOR 光标句柄 HBRUSH 画刷句柄 消息的 ...

  2. VC++深入详解-第一章学习心得(二)

    前面介绍到了注册窗口,接下来进行窗口的创建,利用CreateWindow函数,结构如下 CreateWindowExW( DWORD dwExStyle, LPCWSTR lpClassName, / ...

  3. 《CSS权威指南》双鱼书详解——第二章选择器

    一.基本规则 CSS的核心特性就是能向文档中的一组元素类型应用某些规则. 二.规则结构 选择器+声明块. h1{ color:red;background:yellow;} ,声明块由一个或多个声明组 ...

  4. VC++深入详解-第五章学习心得

    这一章节主要讲解了文本相关的一些编程 插入符的使用 CreateSolidCaret(100,200);//插入符的宽度和高度 ShowCaret(); 插入符的一般使用方法 int CTestVie ...

  5. 孙鑫视频VC++深入详解学习笔记

    孙鑫视频VC++深入详解学习笔记 VC++深入详解学习笔记 Lesson1: Windows程序运行原理及程序编写流程 Lesson2: 掌握C++基本语法 Lesson3: MFC框架程序剖析 Le ...

  6. PE文件格式详解,第二讲,NT头文件格式,以及文件头格式

    PE文件格式详解,第二讲,NT头文件格式,以及文件头格式 作者:IBinary出处:http://www.cnblogs.com/iBinary/版权所有,欢迎保留原文链接进行转载:) PS:本篇博客 ...

  7. IIS负载均衡-Application Request Route详解第二篇:创建与配置Server Farm(转载)

    IIS负载均衡-Application Request Route详解第二篇:创建与配置Server Farm 自从本系列发布之后,收到了很多的朋友的回复!非常感谢,同时很多朋友问到了一些问题,有些问 ...

  8. 《FPGA设计技巧与案例开发详解-第二版》全套资料包

    本人参与写的一本书(TimeQuest一章由我所写),希望大家多多支持: 全书配套资料上传各大网盘资料中附送大量源码,你值得拥有--<FPGA设计技巧与案例开发详解-第二版>全套资料包-V ...

  9. Java 集合详解 | 一篇文章解决Java 三大集合

    更好阅读体验:Java 集合详解 | 一篇文章搞定Java 三大集合 好看的皮囊像是一个个容器,有趣的灵魂像是容器里的数据.接下来讲解Java集合数据容器. 文章篇幅有点长,还请耐心阅读.如只是为了解 ...

随机推荐

  1. leetcode面试准备:Reverse Words in a String

    leetcode面试准备:Reverse Words in a String 1 题目 Given an input string, reverse the string word by word. ...

  2. IEHelper - Internet Explorer Helper Class

    http://www.codeproject.com/Articles/4411/IEHelper-Internet-Explorer-Helper-Class Discussions (81) IE ...

  3. Ember.js demo5

    <!DOCTYPE html> <html> <head> <meta name="description" content=" ...

  4. 【HDOJ】1542 Atlantis

    离散化+线段树+扫描线,求覆盖面积. /* 1542 */ #include <iostream> #include <string> #include <map> ...

  5. 先贴出代码C++ 中的单例模式

    先贴出代码,代码后面是讲解 自己编写的单例模式: #include <iostream> #include <stdio.h> #include <string> ...

  6. 360手机助手内部资料曝光,63张PPT纯干货

    360手机助手内部资料曝光,63张PPT纯干货 日前,国内最大的安卓应用商店360手机助手发布了<2016年手机软件行业趋势绿皮书>,这份绿皮书对2015年以来移动互联网的趋势做了总结,展 ...

  7. AHOI2009最小割

    1797: [Ahoi2009]Mincut 最小割 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1072  Solved: 446[Submit] ...

  8. FreeBSD方式安装 MAC OSX

    首先你的电脑需要支持硬件虚拟化,可以用securable进行检测,如图所示即为支持,说明可以再你电脑的虚拟机里面安装苹果系统,如果有其中一项为NO,那么不好意思,你就没法安装了 2 其次你的电脑要提前 ...

  9. Axis2 WebService(基于REST风格)

    http://www.lifeba.org/arch/java_axis2_webservice_rest.html Axis2除了提供传统的webservice方法外,还提供了对Rest的支持.Ax ...

  10. spring(7)--注解式控制器的数据验证、类型转换及格式化

    7.1.简介 在编写可视化界面项目时,我们通常需要对数据进行类型转换.验证及格式化. 一.在Spring3之前,我们使用如下架构进行类型转换.验证及格式化: 流程: ①:类型转换:首先调用Proper ...