披着CLion的外衣实则在讲CMake
CLion 配置 安装和基础设置 至于 CLion 安装和基础设置,网上教程一大把,而且不是学习重点,根据自己需求配置即可。 工具链配置 这个配置是进行 C++ 开发的关键,因为这个编译工具链就意味着 C++ 的编译环境。 按下图点开对应的信息,如果你任何编译工具链都没有添加,由于新版本的 CLion 它会自带一个 mingw 的编译套件,所以默认会有一个
该分类下的全部文章。
CLion 配置 安装和基础设置 至于 CLion 安装和基础设置,网上教程一大把,而且不是学习重点,根据自己需求配置即可。 工具链配置 这个配置是进行 C++ 开发的关键,因为这个编译工具链就意味着 C++ 的编译环境。 按下图点开对应的信息,如果你任何编译工具链都没有添加,由于新版本的 CLion 它会自带一个 mingw 的编译套件,所以默认会有一个
for 循环语句 (注意 :,print 前有四个空格) for 循环遍历列表 写法一 len 也可以用来求字符串长度,元组、集合、字典元素个数 写法二 break 语句 continue 语句 补充 字符的编码 ord(x) 求字符 x 的编码 chr(x) 求编码为 x 的字符 (使用 ASCII 编码方案) 例题 多重循环 多重循环中的 break 只
多态 虚函数 虚函数的声明很简单,在成员函数声明处用 virtual 关键字标志即可,例如以下片段 作此声明后,若有子类继承于 base 基类,基类将会自动将 fun()的虚函数性质自动继承给子类,子类的 fun()虚函数关键字 virtual 可省略。 但如果基类与子类的虚函数仅仅是函数名相同,参数类型不同或返回类型不同,即使加上了关键字 virtual,
组合 类以另一个类对象作为数据成员的操作,称为组合,当两个类具有包含关系的时候,组合就比继承更能满足我们的要求,在思考如何选择组合与继承的时候,就应该分析两个类之间的关系,组合的实现方式如以下代码片段 继承#2 多继承的模糊性 当一个类继承多个类的时候,如何有两个或以上的类具有同名的数据成员或成员函数,那么将会出现模糊性问题,访问成员时,究竟应该访问哪一个类
继承#1 如果一个类属于另一个类的范畴,也就是说另一个类包含这个类。为了方便,只需要定义已有类中没有的成员就可以建立一个新类,而继承正是为了方便该操作的进行。 在一个类层次中,最顶部的类被称为基类,通过基类所派生出的即为子类,子类的上一级就是它的父类。 如何继承 我们在这里简单介绍继承的方法,现有一学生类,但现在我们需要增加一个硕士研究生类,显然,硕士是属于
静态成员 静态成员包含静态数据成员和静态成员函数,那么为什么会存在静态成员? 我们在开发中会发现,有一些属性是所有对象所共有的,比如:学生总人数,链表头指针,尾指针等,这些数据成员没有必要和对象进行关联,它们更需要被所有对象所共享,而不是在每个对象中都对其重复进行操作。如果将其放在全局变量中,那么 C++ 的封装性将受到影响,静态成员案例见以下程序片段 静态
C++ 内存区 C++ 内存通常分为 4 个区域: 全局数据区(data area); 代码区(code area); 堆区(自由存储区)(heap area); 栈区(stack area); 在 C 语言中,我们通过 malloc 或者 calloc 申请的空间即为堆区的空间,使用完成后用 free 归还申请的内存;而在 C++ 中我们用 new 申请堆
引用 引用是个别名,当建立引用时,程序用另一个变量或对象的名字初始化它,从那时起,引用就作为目标的别名而使用,对引用的改动就相当于对目标的改动。 要建立一个引用,需要在目标类型后面接上引用运算符“&”,然后是引用名(可以使用任何合法的变量名)。 例如 注意,引用不是一个变量,它不会占用内存空间,引用声明时也不会改变目标的状态,引用只有声明,没有定义。其次,引
构造函数 构造函数用于对象的初始化,一旦建立对象,就需要有一个有意义的初始值,构造函数的作用即是在对象初始化时被调用,给对象分配内存空间以及完成初始化。 变量和结构体的初始化方法如下: 但是对于对象而言,这种初始化方法显然不可取,因为类中的 private 和 protected 成员外界并不能对其访问: 这样的初始化操作意味着在其他函数中允许访问类对象中的
流操作算子 C++ 中常用的输出流操纵算子如表所示,它们都是在头文件 iomanip 中定义,要使用这些流操纵算子,必须包含该头文件。 注意:“流操纵算子”一栏中的星号 不是算子的一部分,星号表示在没有使用任何算子的情况下,就等效于使用了该算子。例如,在默认情况下,整数是用十进制形式输出的,等效于使用了 dec 算子。 流操纵算子 作用 :---------