本篇文章是詳解C++ 中const修飾虛函數的實例演示,希望通過錯新技術頻道小編的介紹,我們能夠徹底掌握如何使用它,有需要的朋友可以進入下文參考哦。
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() constTest::print() constTest::print()Test::print()*/
備注:一切皆在代碼中。
總結:const修飾成員函數,也屬于函數重載的一種范疇。
感謝大家閱讀詳解C++ 中const修飾虛函數的實例演示的內容,希望能幫助到大家,同時也感謝大家對錯新技術頻道的支持!
新聞熱點
疑難解答