抽象类与接口在C++中的实现与应用
文章标签
jsp连接mysql
一、抽象类的概念与实现
抽象类是指在类中包含纯虚函数(没有实现代码的函数),其目的是为了让子类继承并实现这些函数。抽象类不能被实例化,只能作为基类供子类继承。
一个简单的抽象类示例代码如下:
class Shape {
public:
virtual double getArea() = 0; // 纯虚函数,需要子类实现
virtual double getPerimeter() = 0; // 同上
};
上面的代码定义了一个抽象类Shape,其中包含两个纯虚函数getArea和getPerimeter。由于这两个函数没有实现代码,所以Shape类不能被实例化。具体实现需要在子类中完成。
二、抽象类的应用
1.实现多态
抽象类是多态的基础,在抽象类中定义的纯虚函数可以在子类中被重写,从而实现多态。具体示例代码如下:
class Circle : public Shape {
public:
Circle(double r): radius(r){}
double getArea() {
return 3.14 * radius * radius;
}
double getPerimeter() {
return 3.14 * radius * 2;
}
private:
double radius;
};
class Rectangle : public Shape {
public:
Rectangle(double l, double w): length(l), width(w){}
double getArea() {
return length * width;
}
double getPerimeter() {
return (length + width) * 2;
}
private:
double length;
double width;
};
void printShape(Shape* s) { // 定义一个函数,以Shape类型指针为参数
cout 版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
上一篇:C++中逻辑或运算符的用法和实例 下一篇:面向对象编程:C++类和对象的使用与实现
code前端网



