21xrx.com
2024-12-22 20:04:45 Sunday
登录
文章检索 我的文章 写文章
C++类与对象的经典例题解析
2023-07-04 21:42:51 深夜i     --     --
C++ 对象 经典例题 解析

C++是一种面向对象的编程语言,因此类与对象是C++中的重要概念。在这里,我们将解析C++类与对象的经典例题。该例题的目的是创建一些形状,其中所有的形状都有一个公共的方法来计算它们的面积。

首先,我们需要创建一个基类Shape,它将包含一个纯虚函数来计算不同形状的面积。


class Shape{

public:

  virtual double area() const = 0;

};

接下来,我们需要创建不同形状的派生类,如矩形和圆形。这些派生类必须实现Shape类的纯虚函数。


class Rectangle: public Shape{

public:

  Rectangle(double l = 0, double w = 0)

    length = l;

    width = w;

  

  virtual double area() const{

    return length * width;

  }

private:

  double length;

  double width;

};

class Circle: public Shape{

public:

  Circle(double r = 0)

    radius = r;

  

  virtual double area() const{

    return 3.14159 * radius * radius;

  }

private:

  double radius;

};

现在,我们已经创建了一些形状,我们需要编写一个程序来打印每个形状的面积。我们将使用一个静态数组来存储这些形状。


int main(){

  Shape* shapes[2];

  shapes[0] = new Rectangle(5, 10);

  shapes[1] = new Circle(5);

  for(int i=0; i<2; i++){

    cout<<"Area: "<<shapes[i]->area()<<endl;

    delete shapes[i];

  }

  return 0;

}

在这个程序中,我们先声明了一个静态数组,它包含了不同形状的指针,然后使用new关键字为矩形和圆形分配内存。最后,我们使用循环遍历数组中的每个形状,并使用它们的area()方法打印它们的面积。注意,在程序结束时必须使用delete关键字释放内存。

综上所述,这个例题展示了如何使用类和对象来创建不同的形状,并计算它们的面积。C++的类和对象提供了一种强大的方式来组织和管理程序的数据和行为。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复