12 2018 档案

摘要:1.xlswrite或xlsread 报错:错误使用 xlswrite (line 219);错误: 服务器出现意外情况。 解决办法:在excel选项中把com加载项中的复选框全部去掉勾选,如下图。 进入excel选项中的加载项,选择com加载项,点击转到; 把com加载项中的复选框全部去掉勾选,然 阅读全文
posted @ 2018-12-25 23:50 zarjen 阅读(462) 评论(0) 推荐(0) 编辑
摘要:1.any、all函数 any对矩阵操作时,any(a,dim),dim=1表示对列操作,列向量非全0返回真,返回行向量;dim=2表示对行操作,行向量非全0返回真,返回列向量; all对矩阵操作时,all(a,dim),dim=1表示对列操作,列向量所有元素非0返回真,返回行向量;dim=2表示对 阅读全文
posted @ 2018-12-22 16:54 zarjen 阅读(403) 评论(0) 推荐(0) 编辑
摘要:vector:动态数组 单口容器,从首位置或中间位置插入元素时,会使得后面的元素位置发生变化,所以一般建议用push_back来从后端追加添加元素。(下右图,deque是双口容易(双端队列)) 容器的基本操作代码如下:(包含了巧用swap收缩空间及reserve预留空间) 1 #define _CR 阅读全文
posted @ 2018-12-12 16:31 zarjen 阅读(388) 评论(0) 推荐(0) 编辑
摘要:纯虚函数,只有函数声明没有实现,形式如:virtual double get_area() = 0,这里的0是纯语法概念,属于关键字; 一个类中包含一个纯虚函数,这个类就是抽象类; 如果一个普通类继承抽象类,必须重写父类中所有纯虚函数,如果不重写那么该类也变成类抽象类; 抽象类不能实例化,因为其方法 阅读全文
posted @ 2018-12-06 22:40 zarjen 阅读(157) 评论(0) 推荐(0) 编辑
摘要:虚函数表和vptr指针 通过virtual关键字修饰函数,可以实现多态,本质是编译器会在类中生成一个虚函数表,在给对象开辟空间时会默认增加一个指针vptr,这个指针指向虚函数表; 一个vptr指针占4个字节长度,通过virtual修饰函数时就会创建且只创建一个vptr指针,长度不变,所以增加virt 阅读全文
posted @ 2018-12-06 15:44 zarjen 阅读(1402) 评论(0) 推荐(0) 编辑
摘要:虚继承,在继承时前面加virtual关键字,如class Bed:virtual public Furniture{}; 虚继承是为了解决多继承出现菱形情况时,某一子类中同一属性出现多个,通过virtual关键字就可以直接最上层的父类中的该属性,且只有一个。如下图: 虚析构函数,在多态过程中,调用析 阅读全文
posted @ 2018-12-05 22:38 zarjen 阅读(775) 评论(0) 推荐(0) 编辑
摘要:&&和||操作符也可以重载,但是不建议重载,因为重载时短路与和短路或都会‘失效’,即不论实际第一个表达式为true还是false,短路与和短路或后面的表达式都会继续判断,这样会导致结果和预期可能不同! 1 //对于标准数据类型直接使用&&和|| 2 //假设+操作符已经重载 3 4 Test t{ 阅读全文
posted @ 2018-12-05 08:14 zarjen 阅读(120) 评论(0) 推荐(0) 编辑
摘要:操作符重载: 在自定义的数据类型的数据间的加减乘除操作,默认情况下编译器是不识别的,需要进行操作重载,格式如operator+(param); 但是并不是所有的运算符都是可以重载或有必要重载的! 重载规则: 实例代码: 1 #define _CRT_SECURE_NO_WARNINGS 2 #inc 阅读全文
posted @ 2018-12-04 13:56 zarjen 阅读(211) 评论(0) 推荐(0) 编辑
摘要:友元,用friend关键字修饰。 友元函数: 友元函数的目的是,让函数对象类型的参数可以直接访问该对象的私有成员!避免了出现不断调用该函数时通过get函数获取私有成员引起的压栈出栈问题! 在需要定义为友元函数的函数前加friend关键字,且在需要直接访问私有成员的那个类中声明函数即可; 同类对象间无 阅读全文
posted @ 2018-12-03 22:51 zarjen 阅读(188) 评论(0) 推荐(0) 编辑
摘要:this指针,指向当前对象; 本质上是一个常指针,Test *const this,地址不能修改,指向的内容可以修改; 要想保证this指针指向的内容也不可以被修改,需要在成员函数尾部加const,代表修饰this指针,即const Test *const this; static成员函数只能返回s 阅读全文
posted @ 2018-12-03 16:26 zarjen 阅读(149) 评论(0) 推荐(0) 编辑
摘要:static变量和函数 静态成员变量不在对象的内存区,在静态区,所以sizeof()时计算不包含静态变量的大小; 类中的函数也不在对象中。 练习: 阅读全文
posted @ 2018-12-02 22:15 zarjen 阅读(488) 评论(0) 推荐(0) 编辑
摘要:C++中new和delete是运算符,不是函数,执行效率高。 C语言中malloc()和free()是函数,标准库stdlib.h中。 new会在堆上初始化一个对象时会触发对象的构造函数,malloc不能。 delete会触发对象的析构函数,free不能。 delete释放的是对象的空间,析构函数释 阅读全文
posted @ 2018-12-02 17:04 zarjen 阅读(282) 评论(0) 推荐(0) 编辑
摘要:构造函数参数初始化列表 当类中的成员包含对象时,在定义构造函数初始化成员需要使用初始化列表将对象成员初始化,如下段代码中的m_a1和m_a2; 构造对象成员的顺序与初始化的顺序无关,与对象成员的定义顺序有关; 如果类的成员中包含常量,如const int m_c,那么构造函数初始化参数时必须使用初始 阅读全文
posted @ 2018-12-02 16:18 zarjen 阅读(267) 评论(0) 推荐(0) 编辑
摘要:1、浅拷贝 实例代码如 1 #define _CRT_SECURE_NO_WARNING 2 #include <iostream> 3 #include<cstdlib> 4 上面代码运行会报错,原因是,浅拷贝中t2的char *name与t1的指向同一个堆中地址,(后构造的先析构)当t2调用完毕 阅读全文
posted @ 2018-12-01 21:27 zarjen 阅读(154) 评论(0) 推荐(0) 编辑
摘要:1、构造函数和析构函数 2、拷贝构造函数 3、 应用场景 对象作为形参,传值时也是调用拷贝构造函数,下图中,当调用func(t1)时,实际上是Test t = t1,这是一个拷贝构造函数调用。 3.1 如果函数返回值是用一个对象接收的,那么会发生一个值拷贝,通过拷贝构造函数创建一个匿名对象。如下有函 阅读全文
posted @ 2018-12-01 20:27 zarjen 阅读(1472) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示