C++
文章平均质量分 54
阿敢
这个作者很懒,什么都没留下…
展开
-
C++类的默认成员函数——拷贝构造函数&赋值运算符的重载函数
一. 拷贝构造函数1. 拷贝构造函数的简单介绍 在创建对象时使用同类对象来进行初始化,这时用到的构造函数就是拷贝构造函数。拷贝构造函数是一种特殊的构造函数。2. 拷贝构造函数的特点(1)拷贝构造函数其实是一个构造函数的重载;(2)拷贝构造函数的参数必须要用引用传参,使用传值方式会引发无穷递归调用;(3)若是没有显示定义拷贝构造函数,系统会默认缺省。缺省的拷贝构造函数会依次拷贝类成员进...原创 2018-07-08 10:26:01 · 993 阅读 · 0 评论 -
C++——STL的迭代器失效问题
本文转载自:https://blog.csdn.net/coderCong/article/details/52065130之前看《C++ Primier》的时候,也解到在顺序型窗口里insert/erase会涉及到迭代器失效的问题,并没有深究。今天写程序的时候遇到了这个问题。1 莫名其妙的Erase 最初我的程序是酱紫的,别说话,我知道这样是有问题的,可这样是最直观的想法...转载 2018-08-02 12:18:28 · 230 阅读 · 0 评论 -
C++类的默认成员函数——构造函数&析构函数
一. 构造函数1. 构造函数的简单介绍 构造函数是一种特使的方法。主要用来在创建对象时初始化对象,即对对象的成员变量赋值。当成员变量是私有的时候,要对它们初始化就必须用一个公有的成员函数来进行。同时这个成员函数应在仅且在对象定义时自动的执行一次,这个函数我们就叫做构造函数。2. 构造函数的特点(1)函数名与类名相同;(2)无返回值;(3)对象构造时(对象实例化时)系统自动调用对应的构...原创 2018-07-07 21:39:37 · 5670 阅读 · 0 评论 -
C++——隐含的this指针&类的六个默认的成员函数
一. 隐含的this指针1. 每个成员函数都有一个指针形参,它的名字是固定的,叫做this指针。this指针是隐式的,并且它是成员函数的第一个参数。要注意的是构造函数比较特殊,它没有this指针;2. 编译器会对成员函数进行处理,在对象调用成员函数时,编译器将对象的地址作为实参传给传给成员函数的第一个形参this指针;编写代码如下:#include <iostream>using n...原创 2018-07-07 20:42:59 · 4447 阅读 · 0 评论 -
C++类和对象的概念及定义
一. 什么是面向对象?1. 面向对象的定义 面向对象是软件开发的一种方法,它的主要思想就是:把整个世界看做是具有行为活动各种对象组成的。把数据以及对数据的操作方法放在一起,作为一个相互依存的整体——对象。对同类对象抽象其共性形成类。所以,对象也就可以看做是类的具体实例,我们就可以把类看做建房子的图纸,对象就可以看做建出来的房子。将对象作为程序的基本单元,将程序和数据封装在其中,以提高...原创 2018-07-07 19:59:12 · 6115 阅读 · 1 评论 -
C++实现双向带头结点的循环链表(list相关操作的简单实现)
直接贴代码://带头带环的双向链表 //-》无死角#include <iostream>using name...原创 2018-07-19 15:22:03 · 357 阅读 · 0 评论 -
C++实现顺序表(vector相关操作的简单实现)
#include <iostream>#include <string.h>#include <assert.h>using namespace std;#define DEFAULT_CAPACITY 3typedef int DataType;class Vector{ public: Vector()//构造函数...原创 2018-07-19 15:19:15 · 457 阅读 · 0 评论 -
C++——引用和指针
一. 引用的概念及用法1. 概念 引用是给一个已存在的变量起一个别名,而不是定义一个新变量。2. 引用的使用格式 类型& 引用变量名 = 已定义过的变量名3. 引用的特点(1)一个变量可起多个别名(2)引用必须初始化(3)引用变量只能在初始化的时候引用一次,之后不能改变为再去引用别的变量4. 引用的代码实现#include <iostream>us...原创 2018-07-07 16:03:08 · 240 阅读 · 0 评论 -
C++基础知识——缺省参数、命名空间、重载
一. 简单介绍C ++ C ++是Ç语言的继承,它既可以进行Ç语言的过程化程序设计,又可以进行以抽象数据类型为特点的面向对象的程序设计。C语言几乎是C++的一个子集,所以C语言能够支持的语法在C++基本上都支持并需要使用。所以C++在C的基础上又有了许多特性。C++不仅支持数据封装和数据隐藏,支持继承和重用,也支持多态性。二. 为什么C++支持重载,C不支持?1.函数重载的定义 ...原创 2018-07-06 17:13:59 · 333 阅读 · 0 评论 -
C++——写时拷贝
在深浅拷贝中提到的深浅拷贝也有自己的缺陷。我们知道浅拷贝可能造成重新出错,深拷贝又会浪费空间。因为并不是每个要拷贝的对象都会修改数据,如果并不准备修改数据,浅拷贝进行读也是可以的。所以就有了写时拷贝。它具体实现思想是:先对原始对象进行浅拷贝,若是要修改数据就再调用深拷贝,让它修改自己的数据,不会造成原始对象受到影响的情况。 我们将写时拷贝认为是使用引用计数实现的浅拷贝。我们在开辟...原创 2018-07-17 09:34:51 · 365 阅读 · 0 评论 -
C++——浅拷贝和深拷贝
浅拷贝:可以理解为没有真正的开辟内存拷贝数据,而是与原对象指向同一块内存,所以在修改当前对象的时候原始对象也会随之改变。且若原始对象中有动态成员时,因为析构时两个对象各自析构一次,但析构同一块内存,所以会出错。 深拷贝:它会开辟一块新的与原始对象一样大的内存空间,将原始对象的字段全部拷贝过来。这样各自拥有自己的数据块,在析构时不会出问题。 具体实现代码如下:#include &lt;i...原创 2018-07-17 09:21:52 · 360 阅读 · 0 评论 -
C++日期类的实现
日期类的实现主要包括以下操作:(1)构造函数、析构函数、拷贝构造函数(2)“=”运算符的重载(3)“+”、“-”、“+=”、“-=”运算符的重载(4)“++”、“--”运算符的重载(5)“>”、“>=”、“<”、“<=”运算符的重载1. “=”运算符的重载 在之前的博客有介绍过了,所以这里不再介绍。2. “+”、“-”、“+=”、“-=”运算符的重载 ...原创 2018-07-08 11:15:02 · 452 阅读 · 1 评论