21xrx.com
2024-11-22 09:41:03 Friday
登录
文章检索 我的文章 写文章
C++方法重写(Override)
2023-07-06 08:53:21 深夜i     --     --
C++ 方法重写 Override Inheritance(继承) Polymorphism(多态性)

C++是一种支持方法重写(Override)的编程语言。方法重写是指在子类中重新定义继承自父类中的方法,以便实现更为特定的行为。该方法必须与原始方法具有相同的参数类型,名称和返回类型。

在C++中,方法重写需要使用虚函数(virtual function)来实现。虚函数可以在基类中声明,在派生类中对其进行重写。在基类中,虚函数用关键字“virtual”进行修饰。例如:


class Animal {

public:

  virtual void speak()

    cout << "This is an animal speaking." << endl;

  

};

class Dog : public Animal {

public:

  void speak()

    cout << "Woof woof!" << endl;

  

};

在上述例子中,动物在其speak()方法中定义了默认限制,而狗则在其派生类中重新定义了speak()方法以发出其特定于物种的声音。

在执行程序时,可以创建指向基类对象和派生类对象的指针,并通过这些指针调用相应的虚函数。例如,以下代码将创建Animal和Dog对象,并使用它们的指针调用speak()方法:


Animal *a = new Animal();

Dog *d = new Dog();

a->speak();  // Output: This is an animal speaking.

d->speak();  // Output: Woof woof!

这里,动物对象的指针调用其默认实现的speak()方法,而狗对象的指针调用其重写的speak()方法,以便发出狗吠声。

总之,C++中的方法重写是通过使用虚函数来实现的。它允许派生类重新定义继承自基类的方法以实现更为特定的行为。这为面向对象编程提供了更好的抽象和灵活性。

  
  

评论区

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