C++学习-多态(父类的方法在子类重新定义)

本文介绍了C++中的虚函数和纯虚函数的概念。虚函数允许子类重写父类的方法,而纯虚函数定义了一个抽象接口,使得类成为抽象基类,必须由子类实现。通过示例展示了如何在Shape类中定义虚函数area,并在Rectangle子类中重写该方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

父类:

关键字:virtual(虚函数),父类方法添加virtual关键字后子类可重新定义

定义纯虚函数 virtual int area() = 0; = 0 告诉编译器,函数没有主体,上面的虚函数是纯虚函数

class Shape {
   protected:
      int width, height;
   public:
      Shape( int a=0, int b=0)
      {
         width = a;
         height = b;
      }
      virtual int area()
      {
         cout << "Parent class area :" <<endl;
         return 0;
      }
};

子类:

Rectangle( int a=0, int b=0):Shape(a, b) { } 这段代码表示继承并使用父类的方法

class Rectangle: public Shape{
   public:
      Rectangle( int a=0, int b=0):Shape(a, b) { }
      int area ()
      { 
         cout << "Rectangle class area :" <<endl;
         return (width * height); 
      }
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值