21xrx.com
2024-11-22 12:11:13 Friday
登录
文章检索 我的文章 写文章
"C++实验九参考答案"
2023-07-03 19:14:52 深夜i     --     --
C++ 实验九 参考答案 编程语言 实验课程

C++实验九参考答案

本篇文章将介绍C++实验九的参考答案,供学习者参考。C++实验九主要涉及多态和虚函数的概念,需要学习者掌握以下知识:

- 多态的概念和特点;

- 虚函数的概念和使用方法;

- 派生类与基类之间的关系。

以下是C++实验九的参考答案:

一、答案1

#include

using namespace std;

class Shape {  

  public:

    virtual double Area()=0; //虚函数

};

class Circle : public Shape { //圆形类

  private:

    double radius;

  public:

    Circle(double r){radius=r;}

    double Area(){return 3.14*radius*radius;}

};

class Rectangle: public Shape { //矩形类

  private:

    double width;

    double height;

  public:

    Rectangle(double w,double h)width=w;height=h;

    double Area(){ return width*height; }

};

int main() {

  Shape *shape;

  Circle c(3);

  Rectangle r(4,5);

  shape=&c;

  cout< Area()<

  shape=&r;

  cout< Area()<

  return 0;

}

本部分代码实现了一个基类Shape,以及两个子类Circle和Rectangle。其中,Shape类中的Area()函数是虚函数,继承自此类的子类都要实现这个函数。主函数中先将circle类的实例赋值给指向Shape类的指针,调用Area()函数输出圆形的面积,然后将rectangle类的实例赋值给指向Shape类的指针,调用Area()函数输出矩形的面积。

二、答案2

#include

using namespace std;

class Animal {  

  public:

    virtual void Sound()=0; //虚函数

};

class Cat : public Animal {

  public:

    void Sound()cout<<"Meow!"<

};

class Dog : public Animal {

  public:

    void Sound()cout<<"Woof!"<

};

int main() {

  Animal *ani;

  Cat c;

  Dog d;

  ani=&c;

  ani->Sound();

  ani=&d;

  ani->Sound();

  return 0;

}

本部分代码实现了一个基类Animal,以及两个子类Cat和Dog。其中,Animal类中的Sound()函数是虚函数,继承自此类的子类都要实现这个函数。主函数中先将Cat类的实例赋值给指向Animal类的指针,调用Sound()函数输出"Meow!",然后将Dog类的实例赋值给指向Animal类的指针,调用Sound()函数输出"Woof!"。

以上就是C++实验九的参考答案,希望能对学习者有所帮助。

  
  

评论区

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