1,如果遇到派生类成员和基类成员的名称冲突的情况,程序会采用派生类成员执行相应的操作。如果需要使用基类中的同名成员,则必须在程序中使用全局分辨符“::”

虚基类 —— 派生类在继承基类时加入“virtual”关键字,应用中将只存在一个基类的拷贝;

如果同意继承层次中既有虚基类又有非虚基类,那么程序执行时会先调用虚基类构造函数,然后调用非虚基类构造函数,最后调用派生类构造函数

如果类中有成员类,成员类的构造函数被优先调用

2,类的默认访问方式是private

protected —— 相对于派生对象是公有的成员,相对于没有派生关系的对象是私有的成员

3,从C++本身来讲,struct 和 class 除了默认的成员访问权限不同之外,二者之间没有任何的区别 —— struct 中默认的成员访问权限是public,设计继承关系时,如果没有显式指定派生类与父类的继承方式,class的继承方式默认是private,而struct的继承方式默认是public

4,通过扩充派生类的构造函数,来实现向基类构造函数传递参数的操作: Derived(int x,int y):Base(y)

5,把函数体同函数调用相关联成为捆绑 (早期捆绑——由编译器和连接器在程序运行之前的编译阶段完成的;晚期捆绑——程序运行阶段动态确定调用的函数体)

晚期捆绑只对虚函数起作用,而且只发生在使用一个包含虚函数的基类地址时 —— 晚期捆绑是实现多态的基础

如果一个函数在基类中被声明为 virtual ,那么在所有的派生类中它都是virtual ,派生类中的重载的虚函数的返回类型必须与基类中的原型相同

虚函数不要重复定义(在继承类中)

6,纯虚函数 —— 被标明为不具体实现的虚成员函数,其允许函数先声明一个操作名称而不给出操作内容,当派生类继承它以后在根据具体的需求给出适当的定义

virtual void foo()=0; 实现一个公共的接口 —— 纯虚函数规定了继承该类的程序必须实现纯虚函数,否则程序就不能实例化

含有纯虚函数的类成为抽象类 —— 不能被实例化

如果派生类中没有将纯虚函数实现,则这个派生类仍然是一个抽象类

构造函数不能使virtual —— 没有意义;析构函数可以是virtual的 —— 当使用delete操作符删除对象时,隐含对析构函数的一次调用,若是虚函数,采用动态捆绑

7,sizeof 返回一个变量或数据类型在内存中所占用的字节数

地址是内存单元的编号,指针则用于存放内存地址

指针的运算 —— 取地址运算:&,返回指定变量在内存中的存储地址 ; * ,取内容运算,返回指针所指向的变量的内容

函数指针 —— 函数类型  (*指针变量名)(参数);    函数指针指向存储区中某个函数的入口地址,因此可以通过函数指针调用相应的函数,也可以充当函数的参数(传递形参的应是某个函数的入口地址 )

#include <stdio.h>
#include <IOSTREAM.H>
int Get(int (*)(int),int);
int gett(int);

void main()
{
	int num;
	num=100;
	cout<<Get(gett,num)<<endl;
}

int Get(int (*p)(int),int)
{
	return (*p)(int);
}

int gett(int i)
{
	return i;
}
 
指针函数 —— 返回类型为指针的函数
 
 
8,指针与const
const 位于指针声明符之前 —— 常量指针 —— 指针所指向的对象是一个常量

const char * ss= “world”; —— 程序中不能试图对ss所指向的存储单元中的内容做出修改

const 修饰符位于指针生命符之后 —— 指针常量 —— 指针所标识的地址不可改变

C++ 补课(二)的更多相关文章

  1. IM开发基础知识补课(五):通俗易懂,正确理解并用好MQ消息队列

    1.引言 消息是互联网信息的一种表现形式,是人利用计算机进行信息传递的有效载体,比如即时通讯网坛友最熟悉的即时通讯消息就是其具体的表现形式之一. 消息从发送者到接收者的典型传递方式有两种: 1)一种我 ...

  2. IM开发基础知识补课(四):正确理解HTTP短连接中的Cookie、Session和Token

    本文引用了简书作者“骑小猪看流星”技术文章“Cookie.Session.Token那点事儿”的部分内容,感谢原作者. 1.前言 众所周之,IM是个典型的快速数据流交换系统,当今主流IM系统(尤其移动 ...

  3. IM开发基础知识补课(七):主流移动端账号登录方式的原理及设计思路

    1.引言 在即时通讯网经常能看到各种高大上的高并发.分布式.高性能架构设计方面的文章,平时大家参加的众多开发者大会,主题也都是各种高大上的话题——什么5G啦.AI人工智能啦.什么阿里双11分分钟多少万 ...

  4. 从游击队到正规军(二):马蜂窝旅游网的IM客户端架构演进和实践总结

    一.引言 移动互联网技术改变了旅游的世界,这个领域过去沉重的信息分销成本被大大降低.用户与服务供应商之间.用户与用户之间的沟通路径逐渐打通,沟通的场景也在不断扩展.这促使所有的移动应用开发者都要从用户 ...

  5. 快速理解高性能HTTP服务端的负载均衡技术原理(转)

    1.前言 在一个典型的高并发.大用户量的Web互联网系统的架构设计中,对HTTP集群的负载均衡设计是作为高性能系统优化环节中必不可少的方案.HTTP负载均衡的本质上是将Web用户流量进行均衡减压,因此 ...

  6. 优秀后端架构师必会知识:史上最全MySQL大表优化方案总结

    本文原作者“ manong”,原创发表于segmentfault,原文链接:segmentfault.com/a/1190000006158186 1.引言   MySQL作为开源技术的代表作之一,是 ...

  7. 达达O2O后台架构演进实践:从0到4000高并发请求背后的努力

    1.引言   达达创立于2014年5月,业务覆盖全国37个城市,拥有130万注册众包配送员,日均配送百万单,是全国领先的最后三公里物流配送平台. 达达的业务模式与滴滴以及Uber很相似,以众包的方式利 ...

  8. 阿里技术分享:阿里自研金融级数据库OceanBase的艰辛成长之路

    本文原始内容由作者“阳振坤”整理发布于OceanBase技术公众号. 1.引言 OceanBase 是蚂蚁金服自研的分布式数据库,在其 9 年的发展历程里,从艰难上线到找不到业务场景濒临解散,最后在双 ...

  9. 一套高可用、易伸缩、高并发的IM群聊架构方案设计实践

    本文原题为“一套高可用群聊消息系统实现”,由作者“于雨氏”授权整理和发布,内容有些许改动,作者博客地址:alexstocks.github.io.应作者要求,如需转载,请联系作者获得授权. 一.引言 ...

  10. 知乎技术分享:从单机到2000万QPS并发的Redis高性能缓存实践之路

    本文来自知乎官方技术团队的“知乎技术专栏”,感谢原作者陈鹏的无私分享. 1.引言 知乎存储平台团队基于开源Redis 组件打造的知乎 Redis 平台,经过不断的研发迭代,目前已经形成了一整套完整自动 ...

随机推荐

  1. Python3基础笔记--装饰器

    装饰器是十二分重要的高级函数. 参考博客:装饰器 所需前提知识: 1.作用域: LEGB 2.高阶函数 高阶函数是至少满足下列一个条件的函数: 1)接受一个或多个函数作为输入 2)输出一个函数 注意理 ...

  2. DNS Prefetching

    For Developers‎ > ‎Design Documents‎ > ‎ DNS Prefetching 目录 1 Problem 2 Solution 3 Architectur ...

  3. mysql更改密码与远程管理

    set password = ': #在当前用户下更改密码 grant all privileges on *.* to root@"%" identified by " ...

  4. 【Appium】每次启动是提示安装setting和unlock app的解决办法

    进入appium安装目录,C:\Program Files (x86)\Appium\node_modules\appium\lib\devices\android,编辑android.js文件,注释 ...

  5. 如何解决本地仓库和远程仓库的冲突(Conflict)

    Background: 我有一个github仓库管理我的代码,我将这个仓库的代码clone到我的工作电脑和私人电脑本地方便我上班和在家时都可以对我的代码进行更新. 一天,我在家修改过代码之后并未提交, ...

  6. spring data jpa实体类映射配置

    @Entity:用来标志实体类,知名这是一个和数据库表映射的实体类 @Id注解指明这个属性映射为数据库的主键 @GeneratedValue注解默认使用主键生成方式为自增,hibernate会自动生成 ...

  7. web——前后端通信原理

    前端向后台传输数据: 传输方法:post  get 区别: (1)get:用于从服务器获取数据,将参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看 ...

  8. ArcGIS api for javascript——地理处理任务-服务区域任务

    描述 本例展示了如何发送一些输入值到ArcGIS Server上的GIS模型并获得结果反馈给web应用.本例中,模型计算自在地图上单击点起始的驱动时间多边形. 例如,这个分析类型可用于想要知道多少人生 ...

  9. LINUX设备驱动程序笔记(一)设备驱动程序简单介绍

    <一>:设备驱动程序的作用 从一个角度看,设备驱动程序的作用在于提供机制,而不是策略. 在编写驱动程序时,程序猿应该特别注意以下这个基本概念:编写訪问硬件的内核代码时,不要给用户强加不论什 ...

  10. Simditor用法

    一不小心接触到Simditor,瞬间被它优美极简的界面所吸引.Simditor是Tower开源的所见即所得的在线富文本编辑器. Simditor的理念是保持简单,避免过度的功能,每个特性都追求极致的用 ...