摘要: 从基类派生出派生类,派生类继承基类的继承方式有三种:public、protected和private。在未指定的情况下编译器会默认继承方式为protected或private方式。1) public继承方式 • 基类中所有public成员在派生类中为public属性; • 基类中所有protecte 阅读全文
posted @ 2018-04-20 10:25 程序员进阶笔记 阅读(326) 评论(0) 推荐(0)
摘要: 1. 构造函数用来对类对象进行初始化,它完成对内存空间的申请、赋初值等工作。 2. 析构函数主要是用来做清理工作的。 补充:函数名或变量名前面有"::"但是没有类名,说明这是全局变量或公共函数,并且不属于任何命名空间。仅此而已。 1、构造函数和析构函数为什么没有返回值? 构造函数和析构函数是两个非常 阅读全文
posted @ 2018-04-20 10:24 程序员进阶笔记 阅读(299) 评论(0) 推荐(0)
摘要: 先来说说C和C++中结构体的不同 a) C语言中的结构体不能为空,否则会报错(??) b) C语言中内存为空结构体分配大小为0,C++中为结构体和类分配大小为1byte c) C语言中的结构体只涉及到数据结构,而不涉及到算法,也就是说在C中数据结构和算法是分离的。换句话说就是C语言中的结构体只能定义成员变量,但是不能定义成员函数。然而在C++中既可... 阅读全文
posted @ 2018-04-20 10:21 程序员进阶笔记 阅读(1435) 评论(0) 推荐(0)
摘要: 在C语言中,动态分配和释放内存的函数是malloc、calloc和free,而在C++语言中,new、new[]、delete和delete[]操作符通常会被用来动态地分配内存和释放内存。 需要注意的是new、new[]、delete和delete[]是操作符,而非函数;new和delete也是C++的关键字。 操作符new用于动态分配单个空间,而new[]则是用于动态分配一个数组,操作符d... 阅读全文
posted @ 2018-04-20 10:15 程序员进阶笔记 阅读(179) 评论(0) 推荐(0)
摘要: C++语言新增关键字 inline,用于将一个函数声明为内联函数。在程序编译时,编译器会将内联函数调用处用函数体替换,这一点类似于C语言中的宏扩展。 采用内联函数可以有效避免函数调用的开销,程序执行效率更高。使用内联函数的缺点就是,如果被声明为内联函数的函数体非常大,则编译器编译后程序的可执行码将会变得很大。另外,如果函数体内出现循环或者其它复杂的控制结构的时候,这个时候处理这些复杂控制结构所... 阅读全文
posted @ 2018-04-20 10:13 程序员进阶笔记 阅读(186) 评论(0) 推荐(0)
摘要: 在C++语言中新增了四个关键字static_cast、const_cast、reinterpret_cast和dynamic_cast。这四个关键字都是用于强制类型转换的。我们逐一来介绍这四个关键字。 1) static_cast: 在C++语言中static_cast用于内置基本数据类型型的强制转换,强制将一种数据类型转换为另一种数据类型。例如将整型数据转换为浮点型数据。 [例1]C语言所... 阅读全文
posted @ 2018-04-20 10:12 程序员进阶笔记 阅读(195) 评论(0) 推荐(0)
摘要: C++引用(Reference) 引用(Reference)是C++语言相对于C语言的又一个扩充,是C++常用的一个重要内容之一。类似于指针,只是在声明的时候用"&"取代了"*"。正确、灵活地使用引用,可以使程序简洁、高效。我在工作中发现,许多人使用它仅仅 是想当然,在某些微妙的场合,很容易出错,究其原由,大多因为没有搞清本源。故在本篇中我将对引用进行详细讨论,希望对大家更好地理解和使用引用起... 阅读全文
posted @ 2018-04-20 10:11 程序员进阶笔记 阅读(198) 评论(0) 推荐(0)
摘要: 在C语言中,通常会在采用格式化输入输出函数printf和scanf用于输入或输出数据或信息。在C++语言中,C语言的这一套输入输出库我们仍能使用,但是C++语言又自定义了一套新的、更容易使用的输入输出库。 在C++程序中,输入与输出可以看做是一连串的数据流,输入即可视为从文件或键盘中输入程序中的一串数据流,而输出则可以视为从程序中输出一连串的数据流到显示屏或文件中。 在编写C++程序时,如... 阅读全文
posted @ 2018-04-20 10:08 程序员进阶笔记 阅读(832) 评论(0) 推荐(0)
摘要: C++语言引入命名空间(Namespace)这一概念主要是为了避免命名冲突,其关键字为 namespace。 科技发展到如今,一个系统通常都不会仅由一个人来开发完成,不同的人开发同一个系统,不可避免地会出现变量或函数的命名冲突,当所有人的代码测试通过,没有问题时,将所有人的代码结合到一起,因为变量或函数重名而导致的问题将会造成一定的混乱,例如: int flag = 1; ... 阅读全文
posted @ 2018-04-20 10:07 程序员进阶笔记 阅读(231) 评论(0) 推荐(0)
摘要: 布尔类型(bool)是C++新增的一种基本数据类型。在标准的C语言中并未定义bool类型,如果需要使用bool类型, 程序员可以通过宏定义来自定义一个bool类型,定义语句如下: #define bool int #define false 0 #define true 1 也就是将int型定义为bool型,将int型的0和1两个值分别定义为bool类型的两个值true和false。 但... 阅读全文
posted @ 2018-04-20 10:00 程序员进阶笔记 阅读(280) 评论(0) 推荐(0)