<2017年12月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

01 2018 档案

摘要:今天专门看了一下虚继承的东西,以前都没怎么用过,具体如下:父类: 复制代码代码如下: class CParent { .... }; 继承类的声明比较特别: class CChild : virtual public CParent { .... } 请问,这个"virtual"是什么作用及含义? 阅读全文
posted @ 2018-01-30 14:49 史D芬周 阅读(6204) 评论(0) 推荐(0)
摘要:为了实现虚函数,C ++使用了一种称为虚表的特殊形式的后期绑定。该虚拟表是用于解决在动态/后期绑定方式的函数调用函数的查找表。虚拟表格有时会以其他名称,如“vtable”,“虚拟功能表”,“虚拟方法表”或“调度表”。 因为了解虚拟表的工作原理并不需要使用虚拟功能,所以这部分可以被认为是可选的阅读。 阅读全文
posted @ 2018-01-29 17:02 史D芬周 阅读(928) 评论(0) 推荐(0)
摘要:面向对象中(包括C++),继承是用来描述“是一种”关系,比如说: 中国人是人类的派生类,这里就有”是一种“关系,你是中国人当然也是人了。派生类继承了基类的所有成员,派生类对象理所当然可以当做基类对象来用(相当于儿子继承了父亲所有的遗产,所以儿子可以用父亲的钱)。C++中,一般是将派生类对象传递给基类 阅读全文
posted @ 2018-01-29 15:16 史D芬周 阅读(2545) 评论(0) 推荐(0)
摘要:数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该 阅读全文
posted @ 2018-01-25 14:26 史D芬周 阅读(394) 评论(0) 推荐(0)
摘要:运算符可以作为普通函数,朋友函数或成员函数来重载。下面的经验法则可以帮助您确定哪种形式最适合于给定的情况: 如果你重载了赋值(=),下标([]),函数调用(())或成员选择( - >),那么它就是成员函数。 如果你重载一个一元运算符,那么作为一个成员函数。 如果你重载了一个修改左操作数的二元运算符( 阅读全文
posted @ 2018-01-24 13:25 史D芬周 阅读(467) 评论(0) 推荐(0)
摘要:构造函数是干什么的 该类对象被创建时,编译系统对象分配内存空间,并自动调用该构造函数,由构造函数完成成员的初始化工作,故:构造函数的作用:初始化对象的数据成员。 构造函数的种类 下面使用上面定义的类对象来说明各个构造函数的用法: 参考:http://www.cnblogs.com/xkfz007/a 阅读全文
posted @ 2018-01-24 10:18 史D芬周 阅读(550) 评论(0) 推荐(1)
摘要:QT配置 Creator 之前运行release版本或者debug版本的qt程序,一直报错。环境变量肯定是设置了的。 但是错误依旧。后来不管了,每次都在Qt命令窗口里面运行。 今天又试了试,由于我有强迫症,所以不弄好心里就不舒服。 然后。。。就真的弄好了。 原来电脑里面装的codeblocks的mi 阅读全文
posted @ 2018-01-18 00:24 史D芬周 阅读(2061) 评论(0) 推荐(0)
摘要:重载不能改变操作符的优先级 如果一个内建操作符是一元的,那么所有对它的重载仍是一元的。如果是二元的重载后也是二元的 下面看一个有代表性的例子:: 头文件Complex.h: #includeusing namespace std; class Complex {public: Complex(); 阅读全文
posted @ 2018-01-17 20:19 史D芬周 阅读(1228) 评论(0) 推荐(0)
摘要:1.冒号(:)用法(1)表示机构内位域的定义(即该变量占几个bit空间)typedef struct _XXX{unsigned char a:4;unsigned char c;} ; XXX(2)构造函数后面的冒号起分割作用,是类给成员变量赋值的方法,初始化列表,更适用于成员变量的常量const 阅读全文
posted @ 2018-01-17 14:20 史D芬周 阅读(2252) 评论(0) 推荐(1)
摘要:什么是线程 什么是线程?线程与进程有什么关系?这是一个非常抽象的问题,也是一个特别广的话题,涉及到非常多的知识。我不能确保能把它讲得好,也不能确保讲的内容全部都正确。即使这样,我也希望尽可能地把它讲通俗一点,讲得明白一点,因为这是个一直困扰我很久的,扑朔迷离的知识领域,希望通过我的理解揭开它一层一层 阅读全文
posted @ 2018-01-10 10:35 史D芬周 阅读(209) 评论(0) 推荐(0)
摘要:浮点数 比喻1e1 e后面跟的是10的指数(也就是1的10次方,e表示10次方),f表示浮点数 1e1表示1×10¹,其实就是10 再例如5e2f,表示5×10²,也就是500 ===========================================================================================================... 阅读全文
posted @ 2018-01-08 16:41 史D芬周 阅读(2160) 评论(0) 推荐(0)
摘要:#include #include #include #include #include using namespace std; void a(int a) { cout << a << endl; }; void b(int b) { cout << a << endl; }; int main() { decltype(a) &a1=a; //函数引用,给一个declt... 阅读全文
posted @ 2018-01-07 17:36 史D芬周 阅读(668) 评论(1) 推荐(0)
摘要:L:左 R:右 阅读全文
posted @ 2018-01-07 12:48 史D芬周 阅读(268) 评论(0) 推荐(0)
摘要:单文件引用头文件./ 当前目录 ../ 父级目录 / 根目录 多文件引用头文件多文件引用头文件 定义单独放在cpp文件里面 ,声明放在().h)里面 阅读全文
posted @ 2018-01-05 13:47 史D芬周 阅读(834) 评论(0) 推荐(0)
摘要:关于浅拷贝和深拷贝这个问题遇上的次数不多,这次遇上整理一下,先说这样一个问题,关于浅拷贝的问题,先从最简单的说起。 假设存在一个结构体: ​这样可以看到的结果是: age is : 18 name is :liming 说明此时的拷贝是成功的,此时的结构体可以通过“=”来直接进行赋值操作,但是接下来 阅读全文
posted @ 2018-01-05 10:13 史D芬周 阅读(20815) 评论(2) 推荐(1)
摘要:通过class A和class B的print()这个接口,可以看出这两个class因个体的差异而采用了不同的策略, 输出的结果也是我们预料中的,分别是This is A和This is B。但这是否真正做到了多态性呢?No,多态还有个关键之处就是一切用指向基类的指针或引用来操作对象。那现在就把ma 阅读全文
posted @ 2018-01-03 17:07 史D芬周 阅读(730) 评论(0) 推荐(0)
摘要:1.继承 class Base { }; class Derived : public Base { };示列: class Base { public: int a=10; }; class Derived : public Base { }; int main() { Derived b; co 阅读全文
posted @ 2018-01-03 16:09 史D芬周 阅读(1876) 评论(0) 推荐(0)
摘要:C++中使用关键字 class 来定义类, 其基本形式如下: class 类名 { public: //行为或属性 protected: //行为或属性 private: //行为或属性 }; 示例: 定义一个点(Point)类, 具有以下属性和方法: ■ 属性: x坐标, y坐标 ■ 方法: 1. 阅读全文
posted @ 2018-01-03 15:53 史D芬周 阅读(61457) 评论(0) 推荐(4)
摘要:size() 标准库string里面有个函数size,用来返回字符串中的字符个数,具体用法如下: string st("The expense of spirit\n");cout << "The size of "<<st<<"is"<<st.size()<< "characters, inclu 阅读全文
posted @ 2018-01-03 14:09 史D芬周 阅读(1409) 评论(0) 推荐(0)
摘要:关键字explicit,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生。声明为explicit的构造函数不能在隐式转换中使用。 C++中, 一个参数的构造函数(或者除了第一个参数外其余参数都有默认值的多参构造函数), 承担了两个角色。 1 是个构造器 2 是个默认且隐含的类型转换操作符。 所以, 有时候在我们写下如 AAA = XXX, 这样的代码, 且恰好XXX的类型正好是AAA单... 阅读全文
posted @ 2018-01-03 13:55 史D芬周 阅读(227) 评论(0) 推荐(0)