C++
文章平均质量分 73
Foreordination_
欲望是壶里沸腾的水,人心是杯子里的茶,水因为火的热量而沸腾,心因为杯体的清凉而不惊
展开
-
c++的继承与虚继承
继承与虚继承 在c++中继承是一重要特征,是面向对象复用的重要手段,通过继承建立一个类,共享公有的东西,再实现各自不同的属性。继承是类之间的关系模型。 虚继承:解决菱形继承二义性和数据冗余最好的方法。原创 2017-04-09 20:45:47 · 450 阅读 · 0 评论 -
模拟实现C++STL中的string类
浅拷贝: 默认的拷贝构造函数(值拷贝)。会出现两个指针维护同一块空间的问题,可能会一个指针释放空间导致另一个指针访问非法空间。 深拷贝: 自己构造拷贝构造函数,即自己开辟新空间再用memcpy进行值拷贝,用指针维护新开辟的空间 写时拷贝: 在浅拷贝的基础上增加引用计数,若要修改同一块空间时,再开辟新空间并进行值拷贝 写时拷贝即实现operator[],缺点是用[]读的时候也进行拷贝原创 2017-08-06 21:10:55 · 724 阅读 · 0 评论 -
C语言实现C++的继承和多态
//C语言模拟实现继承和多态 typedef void (*FUN)(); //通过函数指针来实现对成员函数的继承和多态 struct _A //父类 { FUN _fun; //C语言struct不能包含函数,故需要在类外实现 int _a; }; struct _B //子类 { _A aa; //通过子类包含父类对象实现继承 int _b; }; //定义两个函数---通过函数指针来决定指向那个函数实现多态 void _funA() //父类的同名原创 2017-07-28 22:15:13 · 500 阅读 · 0 评论 -
C++的封装、继承、多态
封装性: 所谓封装性就是将某些东西包装起来,外界无法直接使用,只能通过某些方式才能访问到。面向对象理念是万物皆对象,都有其特征和行为,我们把“成员变量”理解为特征,把“成员函数”理解为行为。被封装的特性只能通过特定的行为去访问。 访问限定符:public、protected、private体现了类的封装。 继承: 继承是通过已有的类派生出新的类,新的类包含已有类的成员对象和成员函数,并且可以增加新的功能,已有的类被称为父类/基类,新的类被称为子类/派生类。 多态:原创 2017-08-05 10:35:22 · 482 阅读 · 0 评论 -
单例模式的懒汉模式和饿汉模式
单例模式的懒汉模式和饿汉模式原创 2017-07-30 12:30:46 · 620 阅读 · 0 评论 -
通过异或找出不重复出现的数字
一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。 找出这两个数字,编程实现。原创 2016-12-29 22:58:41 · 4325 阅读 · 1 评论 -
顺序表的动态申请空间版本
顺序表的动态开辟空间版本。顺序表的动态版本与静态版本的区别在于:动态版本预先开辟比较小的空间,当空间不足时再追加若干空间,静态顺序表则一次开辟足够大的空间,静态顺序表的实现在我的上一篇博客。原创 2017-02-22 11:46:50 · 787 阅读 · 0 评论 -
C++日期类(运算符的重载)
对运算符的重载,使自定义对象可以直接进行加减、比较等操作原创 2017-03-09 13:37:24 · 5609 阅读 · 0 评论 -
家庭财务管理设计与实现
实现家庭的各种账单(水/电/煤气费,宽带/电话费等)的管理功能,可以对各类账单及用户信息进行登记、修改、删除等。原创 2017-03-09 13:57:04 · 1532 阅读 · 0 评论 -
智能指针auto_ptr、scoped_ptr、shared_ptr和weak_ptr
智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露。智能指针就是使用模板类,按照RAII的要求,自动化地管理动态资源的释放(不管理资源的创建),智能指针看上去是指针,实际上是赋予了定义的对象。原创 2017-08-07 16:17:44 · 600 阅读 · 2 评论