- 博客(7)
- 收藏
- 关注
原创 日期类
#include "date.h"class Date{public: Date(int year = 1900, int month = 1, int day = 1)//构造函数 :_year(year) , _month(month) , _day(day) { if (!IsInvalid(_year,...
2018-07-28 15:36:29 168
原创 浅拷贝&深拷贝&引用计数
当类里面有对象时,进行简单的赋值的浅拷贝,当s1和s2中包含的指针对象同时指向一块内存,析构时delete了两次这个内存,会出错, 存在崩溃的问题。这里我们需要深拷贝。 构造s2时拷贝一块跟s1指向数据块一样大的数据块,并将值拷贝下来,这样s1和s2指向各自的数据块,析构时释放各自的数据块。浅拷贝存在析构多次的问题,深拷贝又会浪费空间,有没有更好一点的方法呢? 为了解决浅拷贝中同一...
2018-07-27 10:08:45 442
原创 new/delete new[]/delete[]
C语言使用malloc/realloc/calloc/free进行内存管理。C++通过操作符new和delete进行内存管理。new/delete动态管理对象,new[]/delete[]动态管理对象数组。void Test(){ int* p1 = new int;//动态开辟4个字节空间(一个int)单个数据 int* p2 = new int(3);//动态开辟4个字节...
2018-07-26 18:03:34 305
原创 C++继承
继承继承是面向对象复用的重要手段。通过继承定义一个类,继承是类型之间的关系建模,共享公有的东西,实现各自本质不同的东西。函数复用是为了调用它,而类复用是继承它。 继承的三种关系:public(共有),protected(保护),private(私有)。 一个简单的继承关系: class Person{public: Person(const string& nam...
2018-07-26 15:47:59 119
原创 C++ 类和对象
面向对象是一种程序设计范型,同时也是一种程序开发的方法。对象指的是类的实例,将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性,灵活性和扩展性。把一组数据结构和处理他们的方法组成对象,把相同行为的对象归纳为类,通过对类的封装隐藏内部细节,通过继承实现类的特化/泛化,通过多态实现基于对象类型的动态分派。C++不是纯面向对象语言,而是基于面向对象的语言。因为它包含C的部分,而C...
2018-07-21 18:04:12 124
原创 C++ 引用和指针
引用引用:引用不是定义一个新的变量,而是给一个已经定义的变量重新起一个别名。对引用的操作与对变量直接操作是完全一样的。引用的声明方法:类型&引用变量名 = 已定义过的变量名引用的特点:1.一个变量可取多个别名 2.引用必须初始化 3.引用只能在初始化的时候引用一次,不能改变为再引用其他的变量。引用用法void Test1(){ int a = 1;...
2018-07-19 16:18:52 105
原创 C++入门
C++C++是一种面向对象的计算机程序设计语言,它是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言。它支持多重过程化程序设计,数据抽象,面向对象程序设计,泛型程序设计等多种程序设计风格。C++是C语言的继承,进一步扩充和完善了C语言,成为一种面向对象的设计语言。 为什么会有C++?计算机诞生初期,人们要使用计算机必须用机器语言或汇编语言编写程序。C语言不是为初学者设计的,而是为计...
2018-07-19 11:21:56 248
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人