21xrx.com
2024-11-10 00:13:51 Sunday
登录
文章检索 我的文章 写文章
C++子类如何调用父类函数?
2023-07-12 12:55:52 深夜i     --     --
C++ 子类 父类函数调用

C++是一种面向对象的编程语言,允许我们通过继承来创建子类并在其中添加新的功能。但有时子类需要调用其父类的某些函数来完成其特定任务。在本文中,我们将探讨 C++ 子类如何调用父类函数。

在 C++ 中,子类可以继承父类的所有属性和行为,包括其公共和保护成员。但父类的私有成员不能被子类访问。当子类需要调用父类的函数时,可以使用以下两种方法:

1. 使用作用域解析运算符

作用域解析运算符( :: )可以用于访问父类中的成员。对于在子类中重载的父类成员函数,我们可以使用作用域解析运算符来访问其原始版本。

举例来说,假设我们有一个父类 Animal 和一个子类 Dog。 Animal 类中有一个 makeSound() 函数,而 Dog 类需要重载该函数。在 Dog 类中,我们可以使用作用域解析运算符来访问 Animal 类中原始的 makeSound() 函数,如下所示:


class Animal {

public:

 void makeSound()

  cout << "Animal is making a sound." << endl;

 

};

class Dog : public Animal {

public:

 void makeSound() {

  Animal::makeSound(); // 调用父类中的 makeSound() 函数

  cout << "Dog is barking." << endl;

 }

};

2. 使用继承的函数

另一种方法是使用继承的函数。子类可以通过使用using指令引入父类的函数。当子类重载父类中的成员时,可以通过使用this指针来调用父类的成员函数。


class Animal {

public:

 void makeSound()

  cout << "Animal is making a sound." << endl;

 

};

class Dog : public Animal {

public:

 using Animal::makeSound; // 引入父类中的 makeSound() 函数

 void makeSound() {

  Animal::makeSound(); // 调用父类中的 makeSound() 函数

  cout << "Dog is barking." << endl;

 }

};

总之,C++ 子类可以通过使用作用域解析运算符或从父类继承的函数来调用父类函数。这些方法可以帮助我们扩展子类的功能并利用父类的功能。

  
  

评论区

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