21xrx.com
2024-09-20 00:53:53 Friday
登录
文章检索 我的文章 写文章
C++ 如何调用父类函数?
2023-07-05 10:57:13 深夜i     --     --
C++ 调用 父类函数

C++是一种面向对象的编程语言,其中一个重要的特性就是继承。继承使得子类可以继承父类的属性和方法,同时还可以重写父类的方法。然而,在某些情况下,子类需要调用父类的方法,本文将介绍C++如何调用父类函数。

在C++中,子类可以通过调用父类的方法来实现对父类函数的调用。这可以通过使用“父类名::方法名”这种语法来实现。例如,在下面的代码中,子类Square调用了其父类Rectangle的getArea方法:


class Rectangle {

 protected:

  int width, height;

 public:

  void setValues(int x, int y)

   width = x;

   height = y;

 

  int getArea() {

   return (width * height);

  }

};

class Square: public Rectangle {

 public:

  int getArea() {

   return (width * width);

  }

  int getRectangleArea() {

   return Rectangle::getArea();

  }

};

int main() {

 Square s;

 s.setValues(5,5);

 cout << "Square area: " << s.getArea() << endl; // 输出25

 cout << "Rectangle area: " << s.getRectangleArea() << endl; // 输出25

 return 0;

}

在上面的代码中,Square类继承自Rectangle类。Square类有一个名为getArea的方法,用于计算正方形的面积。由于正方形的面积只和它的边长有关,所以Square类重写了Rectangle类的getArea方法。

然而,在某些情况下,我们需要调用Rectangle类的getArea方法来计算正方形的面积。在上面的示例代码中,Square类增加了一个名为getRectangleArea的方法,它通过使用“::”运算符调用了Rectangle类的getArea方法来计算正方形的面积。

在调用父类方法时,需要注意的一点是,如果在父类方法中使用了该类的成员变量或成员函数,那么子类访问父类方法时必须先设置父类中相应的成员变量。例如,在上面的示例代码中,Square类在调用Rectangle类的getArea方法之前必须先设置width和height成员变量的值。

需要注意的是,如果父类方法被声明为虚函数,则可以使用父类指针或引用来调用子类中的同名函数。这被称为多态性,是C++中面向对象编程的一个重要特性。

总之,C++中使用“::”运算符可以轻松地调用父类方法。这种方式可以让子类重用父类中的代码,同时还可以在重写父类方法的同时调用父类方法,以便实现更复杂的功能。

  
  

评论区

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