- 具体类
将具体类作为基类一般无意义,是线程处理中多线程类的理想候选者(简单) - 抽象类
可以提供多个纯虚函数(真的需要,有意义),但是派生类要实现其定义 - 接口类
接口:类用户可用的数据成员和成员函数(即public数据和函数)组成了该类的接口。
接口类:用于修改或增强另一个类或类集合的接口,可以调整和完善接口,使其更易用。
接口类例子:更改函数或数据成员名;更改数据类型、返回类型或参数列表等。应用:STL中的容器适配器。template <class Container> class stack { friend bool operator==(const stack<Container>& x, const stack<Container>& y); friend bool operator<(const stack<Container>& x, const stack<Container>& y); public: typedef Container::value_type value_type; typedef Container::value_type value_type; protected: Container c; public: bool empty() const { return c.empty(); } size_type size() const { return c.size(); } value_type& top() { return c.back(); } void push(const value_type& x) { c.push_back(); } void pop() { c.pop_back(); } };
接口类继承或者包含该类,然后定义将要作出的调整。其中stack类为Container类的接口类,使Container类便于使用和维护,stack类通过调整类c提供的名字,让用户能使用更熟悉的操作名字。
接口类也可以充当非成员函数的包装器,比如在线程处理、进程间通信和多任务处理中使用的操作系统基本要素。通过封装操作系统基本要素,为用户提供这些基本要素的一般性接口,使代码跨平台性的移植性更强,eg:// POSIX class mutex { protected: pthread_mutex_lock X; public: lock() { pthread_mutex_lock(&X); } unlock() { pthread_mutex_unlock(&X); } }; // OS/2 class mutex { protected: HMTX X; public: lock() { DosRequesMutexSem(X,1000); } unlock() { DosReleaseMutexSem(X); } };
UNIX和OS/2操作系统下经过mutex类的包装,接口均变为了lock()和unlock()
-
节点类
C++编程中最强大的类,是继承和多态的基础,与抽象类不同的是不包含纯虚函数,可以即时实例化。
特点:可重用类,提供了可以在派生类中覆盖的虚成员函数。
它使用基类的指针允许在后代类中操纵成员函数,节点类既可以是基类,也可以是派生类,为类层次提供了实质内容。 -
域类
-
支持/应用类
可以跨域使用:1.共同的功能类 2.用户接口类 -
集合和容器类
实现途径:-
基于对象途径
依赖于多态和继承,产生了高度纵向 -
基于模板途径
-
-
类库
数学类库、用户接口类库、文件管理类库、内存管理类库、图形类库、应用类库、任务和协同程序类库、操作系统API类库、特定域类库。
类的分类
最新推荐文章于 2023-05-07 20:25:31 发布