c++面向对象之复合(composition)、委托(delegation)、继承(inheritance)

本文详细介绍了C++中的面向对象特性,包括复合(composition)、委托(delegation)和继承(inheritance)。复合表示has-a关系,通过类的组合实现功能;委托是一种特殊的复合,通过指针实现类之间的联系,允许动态绑定;继承表示is-a关系,利用虚函数实现多态。文章还探讨了构造函数和析构函数在这些关系中的作用以及注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++之面向对象

  我们知道C++是C语言的升级版,C++保留了C语言原有的所有优点,并增加了面向对象(OO)的机制,C++最重要的一个概念就是“类”,有了类就有了面向对象的程序设计(OOP),类(class)是C++的核心。而所谓面向对象,则是指类和类之间的关系!


  对于类(class)的使用又分为两种——C++基于对象和C++面向对象。所谓C++基于对象是指,程序设计中只是用来单一的类(单一的类又分为:不带指针的类和带指针的类);而所谓C++面向对象则是类(class)中涉及了类的复合、委托、继承。


复合(composition 表示 has-a)


  类的复合可以给理解成,类A、类B两个类,类A中含有类B;并且类A可以使用类B的部分成员,也可以使用类B的部分成员【或者理解成我(类A)里面有另外一种东西(类B)】。

template< class T , class sequence = deque<T> >
class queue{
	...
protected:
	sequeue c;
public:
	//以下完全利用对象  c  的操作函数来实现
	bool empty() const { return c.empty(); }
	size_type size() const { return c.size(); }
	reference front(0) { return c.front(); }
	reference back()  { return  c.back(); }
	//deque(双端队列)是两端可进出,queue(队列FIFO先进先出)是末端进前端出
	void push(const value_type &x ){ c.push_back(x); }
	void pop(){ c.pop_front(); }
};

  其中对于templa

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值