OOP: Object Oriented Programming (面向对象编程)
OOD: Object Oriented Design (面向对象设计)
C++中类与类之间有什么关系呢?
- Inheritance (继承,表现为is-a)
- Compositon (复合,表现为has-a)
- Delegation (委托,表现为is-a + pointer)
下面将逐一探讨三个关系以及它们的组合
1. Composition
表示类之间的has-a关系,即class A中有class B
template <class T>
class queue{
...
protected:
deque<T> c; //底层容器
public:
//以下完全利用c的操作函数完成
bool empty() const {return c.empty(); }
size_type size() const {return c.size(); }
reference front() {return c.front(); }
reference back() {return c.back(); }
void push(const value_type& x){ c.push_back(x);}
void pop() {c.pop_front(); }
}
如上面代码中所显示的&#