您的位置:首页 > 财经 > 产业 > C++面向对象学习(接口)

C++面向对象学习(接口)

2025/7/3 20:57:37 来源:https://blog.csdn.net/weixin_70293633/article/details/141710719  浏览:    关键词:C++面向对象学习(接口)

C++接口(抽象类)

接口描述了类的行为和功能,而不需要完成类的特定实现。

C++接口时使用抽象类来实现的,抽象类与数据抽象互补混淆,数据抽象是一个吧实现细节与相关数据分离开的概念。

如果类中至少有一个函数被声明为纯虚函数,则这个类就是抽象类。纯虚函数是通过在声明中使用 "= 0" 来指定的,如下所示:

calss Box{
public:virtual double getvolume() = 0;
private:double l;double h;double b;}

设计抽象类的目的,是为了给其它类提供一个可以继承的适当的基类。抽象类不能被用于实例化对象,他只能作为接口被使用。

所以,如果一个抽象类的子类需要被实例化,则必须实现每一个纯虚函数。

来个例子:

#include<iostream>using namespace std;class Shape{
public:virtual int getArea() = 0;void setwidth(int w){width = w;}void serheight(int h){height = h;}
protected:int width;int height;};class Rectangle : public Shape{
public:int getArea(){return width*height;}
};class Triangle : public Shape{
public:int getArea(){return width*height/2;}
};int main(){Rectangle R;Triangle  T;R.serheight(10);R.setwidth(10);cout << R.getArea()<<endl;T.serheight(10);T.setwidth(50);cout << T.getArea()<<endl;return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com