![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面向对象设计
文章平均质量分 85
卖兔子的小男孩
这个作者很懒,什么都没留下…
展开
-
new-handler用法
c++、内存分配、new-handler、nothrow原创 2023-02-21 00:24:54 · 513 阅读 · 0 评论 -
C++面向对象基础知识(二)
c++面向对象、组合设计模式、原型设计模式原创 2022-12-06 23:34:48 · 178 阅读 · 0 评论 -
C++面向对象基础知识(一)
最近看了c++的一些课程,记录一下 构造函数 1.建议在初始化列表中完成类成员变量的赋值。 2.不带有指针的类多半不用写析构函数,我的理解是指针成员变量的使用需要开辟空间并将指针指向这部分内存,开辟的内存在堆中,这部分内存无法像开辟在栈中的内存一样自动释放,如果不重写析构函数来释放内存,会造成内存泄漏。 3.构造函数可以重载,但是遇到下面两个构造函数则无法重载。因为第一个例子有默认参数调用时可以不填参数,第二个例子没有参数调用时也可以不填写参数,所以编译器不知道调用哪个函数。 complex(double原创 2022-10-28 14:32:45 · 644 阅读 · 0 评论 -
简单工厂模式和策略模式
简单工厂模式和策略模式 这里讨论一下简单工厂模式和策略模式的区别。 简单工厂模式是把通过类创建实例的过程封装起来,如上图所示,封装在Factory类中,一般情况下Factory类返回的是基类类型,这里用到了多态。 策略模式是把通过类创建实例的过程和调用实例方法的过程封装起来,如上图所示,封装在Content(Context)类中,也用到了多态。相比于简单工厂模式只创建实例对象,策略模式一般情况下不仅会创建实例对象,还会调用实例对象的方法。简单工厂模式更强调创建对象,策略模式更强调调用对象方法的过程。 感觉原创 2020-12-05 10:49:46 · 139 阅读 · 0 评论 -
继承与面向对象设计(1)public继承、区分接口继承与实现继承
(1) public 继承意味着“is-a”的关系,但是有时候会有特殊情况,比如:企鹅是一种鸟,鸟会飞,所以我们以为代码是: class Bird{ public: virtual void fly(); ... }; class Penguin:public Bird{ ... }; 但是企鹅不会飞,在鸟类中有几种鸟不会飞,就像大多数算法没有回调这种功能,但有一些算法会有这种功能,这时候我们可以这样写: class Bird{ ... }; class FlyingBi原创 2020-07-10 19:55:35 · 195 阅读 · 0 评论