虚位以待(AD)
虚位以待(AD)
首页 > 网络编程 > ASP编程 > C++ 中const修饰虚函数实例详解

C++ 中const修饰虚函数实例详解
类别:ASP编程   作者:码皇   来源:互联网   点击:

这篇文章主要介绍了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修饰虚函数 const修饰虚函数使