文档章节

C++学习零碎知识

沙米笔记
 沙米笔记
发布于 2016/05/08 01:24
字数 836
阅读 151
收藏 5

contest常量

C语言中的const变量

C语言中const变量是只读变量,有自己的存储空间

C++中的const常量

可能分配存储空间,也可能不分配存储空间  

const常量为全局,并且需要在其它文件中使用

当使用&操作符取const常量的地址

占位符,需要赋值,即使不用;如果用默认值给占位符,调用此函数,可赋值,也可不赋值

引用

/*引用   1、普通引用必须初始化,引用时依赖于某个对象

 2、引用做函数参数时,声明时不需初始化

 3、可以给引用再次添加应用*/

int a =10;

int& b = a;

int &c = b;

cout<<"a="<<a<<"  b="<<b<<"  c="<<c<<endl;

b = 20;

testRefs(a,b);

cout<<"a="<<a<<"  b="<<b<<endl;

int m,n;

testRefs(m,n);

cout<<"m="<<m<<"  n="<<n<<endl; 

常量指针和指针常量

/*常量指针,指向的内存空间不可修改,指向可以修改 const int *p1   */

int a = 10,b = 11;

const int *p1 = &a;

cout<<*p1<<endl;

//*p1 = 20;

p1 = &b;

cout<<*p1<<endl;

/*指针常量,指针的指向不可修改,指向的内存空间可以修改 

int * contst p2   */

int m=20,n=22;

int * const p2 = &m;

cout<<*p2<<endl;

//p2 = &n;

*p2 = 55;

cout<<*p2<<endl;

赋值兼并性原则 

父类指针(引用)指向子类对象 (子类中含有父类没有的东西)

子类对象初始化父类对象 

构造和析构顺序

先调用父类的构造函数,在调用子类的构造函数

先析构子类的析构函数,在调用父类的析构函数

多态

多态定义:同样的调用语句,有多种不同的调用方式

多态的条件:

        1、有继承  

        2、有虚函数重写 (在基类中的函数上加virtual关键字,子类可写也可不写)

         3、父类指针(父类引用)指向子类对象

联编

静态联编:在编译器编译阶段,已经决定了函数的调用(不写virtual关键字,是静态联编)

动态联编:在运行阶段,根据具体的对象(具体的类型),执行不同对象的函数,表现为多态

面向对象的三大特性

1、封装突破C函数的概念,用类做函数参数时候,可以使用对象的属相和方法

2、继承代码的服用

3、多态可以提前搭好框架,让后来人直接重写自己的函数,框架自动调用后来写的函数  面向未来

虚函数、纯虚函数、虚析构函数

1、虚析构函数,在析构基类资源时,将派生类的资源也一起析构

2、虚函数 ,只有virtual ;既有定义,也有实现的代码(在.h实现需要virtual关键字,在.cpp中实现是不需要);包含虚函数的可以定义其对象

3、纯虚函数 ,必须有virtual和=0 ;只有定义,没有实现(在.h实现需要virtual关键字,在.cpp中实现是不需要);包含纯虚函数的不可以定义其对象

 


 


 

 

 

 

© 著作权归作者所有

共有 人打赏支持
沙米笔记
粉丝 29
博文 42
码字总数 45024
作品 0
深圳
程序员
如何自学成为C/C++程序员大牛

C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...

小辰带你看世界
05/11
0
0
当年自学c++的时候走了很多弯路,今天分享给大家学习经验

本人从事c++ 将近6年的时间,今天给大家分享下学习经验 到今年年底结束,我做c++ 开发已经6年的时间了,现在月薪可以接近三万已经算知足了,但是距离我年薪百万的目标还有很长的路要走,而以...

你的社交帐号昵
05/30
0
0
VS2010/MFC编程入门教程之目录和总结(鸡啄米)

鸡啄米的这套VS2010/MFC编程入门教程到此就全部完成了,虽然有些内容还未涉及到,但帮助大家进行VS2010/MFC的入门学习业已足够。以此教程的知识为基础,学习VS2010/MFC较为深入的内容已非难事...

weixin_40647819
05/23
0
0
C语言编程入门学习:用C语言输出九九乘法表

C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...

小辰带你看世界
05/29
0
0
C++总结 — C++知识导论图

C++知识导论图 以上就是C++的知识的一点总结,当然这也只是延伸到面,并没有延伸到点. 具体更加细致的知识点需要你更加努力的学习. 上面的知识点我基本也 有对应的博客,特别是面向对象那块的...

Dawn_sf
01/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

WinDbg

参考来自:http://www.cnit.net.cn/?id=225 SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols ctrl + d to open dump_file Microsoft (R) Windows Debugger Version 6.12.0002.633......

xueyuse0012
25分钟前
2
0
OSChina 周五乱弹 —— 想不想把92年的萝莉退货

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @罗马的王:分享松澤由美的单曲《地球ぎ》 很久没看圣斗士星矢了 《地球ぎ》- 松澤由美 手机党少年们想听歌,请使劲儿戳(这里) @开源中国首...

小小编辑
52分钟前
9
1
springBoot条件配置

本篇介绍下,如何通过springboot的条件配置,控制Bean的创建 介绍下开发环境 JDK版本1.8 springboot版本是1.5.2 开发工具为 intellij idea(2018.2) 开发环境为 15款MacBook Pro 前言 很多时候,...

贺小五
今天
1
0
javascript source map 的使用

之前发现VS.NET会为压缩的js文添加一个与文件名同名的.map文件,一直没有搞懂他是用来做什么的,直接删除掉运行时浏览器又会报错,后来google了一直才真正搞懂了这个小小的map文件背后的巨大...

粒子数反转
昨天
1
0
谈谈如何学Linux和它在如今社会的影响

昨天,还在农耕脑力社会,今天已经人工智能技术、大数据、信息技术的科技社会了,高速开展并迅速浸透到当今科技社会的各个方面,Linux日益成为人们信息时代的到来,更加考验我们对信息的处理程...

linux-tao
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部