如何将多态(二)的概念应用于复杂编程场景中?

2026-04-12 05:110阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计560个文字,预计阅读时间需要3分钟。

如何将多态(二)的概念应用于复杂编程场景中?

多态的条件:1. 函数的覆写:三同(函数名、参数、返回值相同)2. 父类的指针或引用调用。

1. 不满足多态:看调用者的类型--调用这个类型的成员函数。

2.满足多态:看指向的指针类型--指向的类型的成员函数。

多态的条件:1.虚函数的重写:三同(函数名、参数、返回值)2.父类的指针或者引用去调用。

1.不满足多态看类型--看调用者的类型,调用这个类型的成员函数。

2.满足多态 -- 看指向的对象的类型,调用这个类型的成员函数。

下面的代码中不构成重写,是隐藏关系。

class Person { public: void Buyticket() { cout << "买票-全价" << endl; } }; class Student :public Person { public: //重写/覆盖 virtual void Buyticket() { cout << "买票-半价" << endl; } };

什么时候能够体现出隐藏关系,子类调用的时候才能体现出来。上面的代码中没有隐藏关系的体现。隐藏的时候调用父类可以指定作用域。

子类可以不写关键字:也可以构成重写。

阅读全文

本文共计560个文字,预计阅读时间需要3分钟。

如何将多态(二)的概念应用于复杂编程场景中?

多态的条件:1. 函数的覆写:三同(函数名、参数、返回值相同)2. 父类的指针或引用调用。

1. 不满足多态:看调用者的类型--调用这个类型的成员函数。

2.满足多态:看指向的指针类型--指向的类型的成员函数。

多态的条件:1.虚函数的重写:三同(函数名、参数、返回值)2.父类的指针或者引用去调用。

1.不满足多态看类型--看调用者的类型,调用这个类型的成员函数。

2.满足多态 -- 看指向的对象的类型,调用这个类型的成员函数。

下面的代码中不构成重写,是隐藏关系。

class Person { public: void Buyticket() { cout << "买票-全价" << endl; } }; class Student :public Person { public: //重写/覆盖 virtual void Buyticket() { cout << "买票-半价" << endl; } };

什么时候能够体现出隐藏关系,子类调用的时候才能体现出来。上面的代码中没有隐藏关系的体现。隐藏的时候调用父类可以指定作用域。

子类可以不写关键字:也可以构成重写。

阅读全文