<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

        C++子類覆蓋基類及virtual虛擬處理

        作者:黃波海   來源:本站原創   點擊數:  更新時間:2014年03月07日   【字體:

        #include<iostream.h>

        class animal
        {
        public:
        animal()
        {
        cout<<"animal construct"<<endl;
        }
        ~animal()
        {
        cout<<"construct animal"<<endl;
        }
        virtual void breath()  //virtual定義虛函數
        {
        cout<<"bubble2"<<endl;
        }
        };
        class fish:public animal  //只調用animal中的animal()
        {
        public:
        fish()
        {
        // cout<<"hello world"<<endl;
        }
        ~fish()
        {
        // cout<<"construct helllo world"<<endl;
        }
        void breath()
        {   
        //animal::breath();
        //cout<<"fish bubble"<<endl;
        }
        };
        void fn(animal *pan)
        {
        pan->breath();
        }
        void main()
        {
        fish fh;
        //st.breath ();//如果子類和基類有兩個同名函數,則最后用子類覆蓋基類,這叫重載。
        animal *pan;
        pan=&fh;  //改變指針,把animal的指針用fish替換了。但是還是輸出animal。若在animal前加virtual虛擬,則輸出fish
        fn(pan);
        }

        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮