C++虚函数、纯虚函数,继承及多态、友元

0 引言

本文介绍c++中的虚函数、纯虚函数,继承及多态等。

1 基本概念

  • 虚函数
    • 定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。
    • 通常不能在对象中直接调用该类的虚函数。
    • class A  
      {  
      public:  
          virtual void foo()  
          {  
              cout<<"A::foo() is called"<<endl;  
          }  
      };  
      class B:public A  
      {  
      public:  
          void foo()  
          {  
              cout<<"B::foo() is called"<<endl;  
          }  
      };  
      int main(void)  
      {  
          A *a = new B();  
          a->foo();   // 在这里,a虽然是指向A的指针,但是被调用的函数(foo)却是B的!  
          return 0;  
      }
  • 纯虚函数
    • 定义一个函数为纯虚函数,才代表函数没有被实现。定义纯虚函数是为了实现一个接口,起到一个规范的作用,规范继承这个类的程序员必须实现这个函数。
    • virtual void funtion1()=0  
  • 继承
  • 多态
  • 友元: 定义在类外部的普通函数或者类,但它需要在类体内进行说明,为了与该类的成员函数加以区别,在说明时前面加以关键字 friend. 友元不是成员函数,但是它可以访问类中的私有成员。
原文地址:https://www.cnblogs.com/ghjnwk/p/13759182.html