随笔分类 - C++
摘要:QT在进行文本读写时和C++一样,是基于文本流操作的。 QT在读取全部文本时,相对比较便捷。使用readAll()函数,配合split()进行分隔符的拆分(例如行结束符"\n"),可将拆分结果赋值给list,然后进行后续的数据处理。 在C++中也可以实现类似的效果: 如果遇到换行符'\n'(第一种形
阅读全文
摘要:string, cstring, string.h 一、string头文件 主要包含一些字符串转换的函数 // sto* NARROW CONVERSIONS// sto* WIDE CONVERSIONSstoi //convert string to intstol //convert stri
阅读全文
摘要:(1)多态性都有哪些?(静态和动态,然后分别叙述了一下虚函数和函数重载) 多态分为两种:静态和动态。静态主要包括函数重载和模板;动态主要是依靠虚函数实现的。 静态联编:重载函数不加virtual关键字,就根据指针类型去执行 动态联编:加virtual关键字,运行时候根据具体类型执行不同对象的函数,变
阅读全文
摘要:一、在字符串str1中删除那些在str2中出现的字符。 str2可能会有重复字符,直接遍历会导致效率低下,故先借助STL的set容器对str1查重; 然后,遍历str1和str2,对str1进行查重。 二、 编程题-成绩排名 题目总共包含如下两种格式的字符串命令: 1 LOD GRADE命令,其格式
阅读全文
摘要:有一篇很不错的文章介绍右左法则,原文链接。 int *p[4]; //指针数组。 是个有4个元素的数组, 每个元素的是指向整型的指针。(数组的每个元素都是指针)int (*p)[4]; //数组指针。 它是一个指针,指向有4个整型元素的数组。 (一个指针指向有4个整型元素的数组)int *func(
阅读全文
摘要:一、#include <cstdlib> 字符串转换到整型数,函数原型:int atoi(const char *nptr) 注意事项:有符号整型,能转换的最大字符串是:"2147483647",所有大于这个数的字符串,转换后仍为有符号int的最大值:2147483647。 实现方法: 二、原文:h
阅读全文
摘要:union是C++中一个类,平时自己用的比较少,了解了一些特性后觉得在内存要求比较高的地方还是大有可为,总结一下。 C++中的struct和union内部都可以定义 数据 和 函数, 两个跟 class不同的地方在于访问控制上面,class默认为private,struct和union默认为publ
阅读全文
摘要:写在前面的话: 重载是C++的重要内容,在自定义一个类的时候,需要对类中的方法进行重载,才能方便的实现相应的功能,比如一些运算符,构造,析构函数,一些功能函数等等,而C++语言自带的这些东西只使用于基本数据类型。另外,在自定义类中有指针的属性,注意一下深拷贝和浅拷贝的问题。 下面是自己的实现过程,已
阅读全文
摘要:C++四种类型转换 static_cast C++静态类型转换,c语言隐式类型可以转换的,基本上都可以 reinterpret_cast 指针类型不可以这么转化;指针需要强制类型转换: dynamic_cast 用于继承中多态时候的类型识别,在子类对象传给父类指针后,可以对父类指针使用dynamic
阅读全文
摘要:函数业务逻辑一样,只是函数参数类型不同函数模板的本质:类型参数化——泛型编程 语法: 函数模板基础: template是告诉C++编译器,开始泛型编程,看到T,不要随便报错 在使用模板时,遇到修改模板里面内容,需要清除原有方案,重新编译。 函数模板遇上函数重载: //函数模板不允许自动类型转化,严格
阅读全文
摘要:解耦合 和 模块的划分 c++没有接口的概念 但可以使用纯虚函数(抽象类)实现接口的功能 纯虚函数和抽象类纯虚函数是一个在基类中说明的虚函数,在基类中没有定义,要求任何派生类都定义自己的版本纯虚函数为各派生类提供一个公共界面(接口的封装和设计,软件的模块功能更划分) 纯虚函数说明形式: virtua
阅读全文
摘要:封装、继承、多态是C++的三大利器。 多态性是设计模式的基础: 需求:根据实际对象类型来判断重写函数的调用。父类指针 指向父类对象 调用父类中定义的函数;父类指针 指向子类对象 调用子类中定义的重写函数。 多态:同样的调用语句多种不同的表现形态 实现方式:基类中 函数 声明为 virtual。子类中
阅读全文
摘要:继承:1、子类拥有父类的所有成员变量(属性)和成员函数(方法)2、子类是一种特殊的父类3、子类对象可以当父类对象使用4、子类可以拥有父类没有的方法和属性 继承方式一般都按照public继承; 单个类的访问(属性和方法)控制:public:类内,类外均可用private:类内protected:类内,
阅读全文
摘要:运算符重载本质:函数调用 实现方法:将基本类型进行封装,提供一个接口。 complex C4 = C1 + C2;重写 operator+这个函数即可。(返回值是complex) 实现函数重载步骤:1、承认操作符重载是一个函数,写出函数名称2、根据操作数,写出函数参数3、确定返回值(引用,指针,元素
阅读全文
摘要:网上比较经典的总结: 什么函数都有可能失败,构造函数也不另外,比如new一个对象或空间不成功。当构造函数失败的时候,其实很多时候我们不想这个对象被继续生成,这个时候就可以在构造函数里面抛出异常。C++规定构造函数抛出异常之后,对象将不被创建,析构函数也不会被执行,但已经创建成功的部分(比如一个类成员
阅读全文
摘要:1、面向对象主要涉及 构造函数、析构函数、虚函数、继承、多态等。 2、对各种支持 的底层实现机制 c语言中,数据 和 处理数据的操作(函数) 是分开来声明,即语言本身并没有支持 “数据和函数”的关联性。 在C++中,通过抽象数据类型(abstract data type, ADT),在类中定义数据和
阅读全文
摘要:拷贝构造函数为什么要使用引用而不是值传递??? CExample aaa(2); CExample bbb(3); assignment operator // bbb = aaa; copy constructor // CExample ccc = aaa; bbb对象已经实例化了,不需要构造,
阅读全文
摘要:malloc, free 是c的库函数,只会分配内存大小,不会调用构造函数,析构函数 new, delete C++关键字,操作符,不仅可以分配内存大小,还可以调用构造函数,析构函数 在执行基本类型,数组(其中存储的是基本类型)操作时,可以混用! int *p = new int; p = 1; d
阅读全文
摘要:原文链接:http://blog.csdn.net/hackbuteer1/article/details/7558868 注:转载过来,学习一下,大家可以去拜读一下原文。 首先:强调一个概念定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。
阅读全文
摘要:在打印机作业时一般采用队列的形式FIFO(fisrt in first out),但遇到一个1份的和一个100份的作业时,先打印1份的相对合理;另外,不同作业的优先级也不同,优先级高的应该先处理。 insert == Enqueue deleteMin == Dequeue 二叉堆(完全二叉树):除
阅读全文

浙公网安备 33010602011771号