C++ 中const修饰虚函数实例详解分享

—-想了解C++ 中const修饰虚函数实例详解分享的全部内容且更多的C语言教程关注<计算机技术网(www.ctvol.com)!!>

C++ 中const修饰虚函数实例详解

【1】程序1

  #include <iostream>  using namespace std;    class Base  {  public:   virtual void print() const = 0;  };    class Test : public Base  {  public:   void print();  };    void Test::print()  {   cout << "Test::print()" << endl;  }    void main()  {   // Base* pChild = new Test(); //compile error!   // pChild->print();  }

【2】程序2

  #include <iostream>  using namespace std;    class Base  {  public:   virtual void print() const = 0;  };    class Test : public Base  {  public:   void print();   void print() const;  };    void Test::print()  {   cout << "Test::print()" << endl;  }    void Test::print() const  {   cout << "Test::print() const" << endl;  }    void main()  {   Base* pChild = new Test();   pChild->print();  }  /*  Test::print() const  */

【3】程序3

  #include <iostream>  using namespace std;    class Base  {  public:   virtual void print() const = 0;  };    class Test : public Base  {  public:   void print();   void print() const;  };    void Test::print()  {   cout << "Test::print()" << endl;  }    void Test::print() const  {   cout << "Test::print() const" << endl;  }    void main()  {   Base* pChild = new Test();   pChild->print();     const Test obj;   obj.print();     Test obj1;   obj1.print();     Test* pOwn = new Test();   pOwn->print();  }    /*  Test::print() const  Test::print() const  Test::print()  Test::print()  */

备注:一切皆在代码中。

总结:const修饰成员函数,也属于函数重载的一种范畴。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/488135.html

(0)
上一篇 2020年11月12日
下一篇 2020年11月12日

精彩推荐