C++ 继承扩展
C++继承在实际开发中它可以帮助我们实现代码重用,减少代码冗余,提高代码的可维护性和可扩展性。
通过继承,我们可以从已有的类中派生出新的类,新的类可以继承父类的属性和方法,并且可以添加自己的属性和方法。
这样就能避免重复编写相同的代码,同时也可以保证代码的一致性和可靠性。
此外,C++继承还可以实现多态,多态可以使得不同的对象以相同的方式进行处理,这样可以大大提高代码的灵活性和可扩展性。
C++ 多态
C++多态是指在继承关系中,子类可以覆盖父类的方法,并且可以以多种形式进行访问,从而实现不同对象之间的相同操作,这样可以提高代码的灵活性和可扩展性。
多态主要通过虚函数实现,虚函数是在基类中声明的一个函数,它可以被派生类覆盖,派生类可以根据自己的需要重新实现这个函数。
当我们使用一个指向派生类对象的基类指针或引用调用这个函数时,会根据实际的对象类型来调用相应的函数,这就是多态。
我写个 demo:
在上述写的 demo 中,我定义了一个基类 Animal,它有一个虚函数 speak()。
然后派生出了 Dog 和 Cat 两个子类,并重写了 speak() 函数。
在主函数中,我定义了两个指向 Animal 对象的指针 pAnimal1 和 pAnimal2,分别指向 Dog 和 Cat 对象。
接着我通过这两个指针分别调用 speak() 函数。
由于 speak() 函数是虚函数,因此会根据实际的对象类型来调用相应的函数,输出狗旺旺叫和猫喵喵叫。
编译运行结果:
C++多态可以大大提高代码的灵活性和可扩展性,使得代码更加易于维护和扩展。但读者需要注意,虚函数会带来一定的性能开销,因此在性能要求比较高的场景中需要谨慎使用。