C++学习10:侯捷C++面向对象程序设计总结

这里总结一下C++学习4-9,加深印象以备后续学习。

1 三大部分

1.1 不带指针的类

C++学习4:详解不带指针的类(侯捷Complex类为例)
C++学习8:模板初步理解

1、基本知识:各种声明、类的定义、内联函数、访问级别、构造函数、重载、参数传递方式、返回方式、各种位置出现的const、友元、模板。
2、操作符重载:成员函数、非成员函数、全局函数。
3、设计类时一定要注意的细节:
(1)构造函数用没用初始列;
(2)函数要不要加const;
(3)参数的传递尽量考虑引用传递;
(4)return的应该用值还是引用;
(5)数据要放在private里,函数主要应放在public里。

1.2 带指针的类

C++学习5:详解带指针的类(侯捷String类为例)
C++学习6:堆栈及内存分配(侯捷Complex和String类为例)
C++学习7:static和this

1、只要类中带有指针,一定要自己写出拷贝构造和拷贝赋值操作!
2、Big Three:拷贝构造函数、拷贝赋值函数、析构函数。
3、相关知识:三种对象类型和生命期、堆栈、new和delete的底层含义,内存的分配方式。
4、补充知识:static对象和static函数的关系,static成员函数和this的关系。
(1)静态数据在类中声明过后要在外层定义
(2)静态成员函数中并没有this指针,用于处理静态数据
(3)静态成员函数的调用方法有两种:1.通过类名直接调用;2.通过该类对象调用。

1.3 类与类的关系

C++学习9:OOP——类和类之间的关系(复合、委托、继承)

1、复合(has a)、委托(Composition by reference)、继承(is a)。
2、以上三种关系的好处。
3、构造和析构的顺序。

2 一些设计模式

设计模式用途操作
Singleton模式创建一个类,希望它只产生一个对象使用static,将ctor放在private中,通过类名调用静态函数取得这个对象
Adapter模式一种类的功能可以完全满足另一种类需要的功能使用复合,改变功能强大类的一些接口即可
Handle/Body模式将接口与实现分隔开使用委托,指针的指向的类是实现,拥有指针的类是接口
Template Method模式固定一个算法的框架使用继承,子类的virtual定义的方法执行子类的方法
Observer模式某对象的状态改变时,对象之间仍能互相通信定义观察者类作为委托,其子类继承观察者类
Composite模式表示对象的部分-整体层次结构将所有对象无论个体还是组合体,都继承同一个类,其中组合体通过容器委托成员类
Prototype模式不了解要创建对象的确切类以及如何创建等细节的情况下创建自定义对象子类都创建一个自己,当成“原型”,让父类有办法去看到子类创造出的原型放在什么位置上

3 革命尚未成功,同志仍需努力

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值