亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        C++程序設計中基于構造函數(shù)的對象初始化方法研究

        2019-05-23 10:44:48高葵付曉翠李蔚妍
        電腦知識與技術 2019年8期
        關鍵詞:中類調用程序設計

        高葵 付曉翠 李蔚妍

        摘要:C++程序設計中聲明對象時,如果需要對象的初始化,不能貿然指定對象的初始值,否則不僅不能實現(xiàn)初始化,還會引起編譯時的語法錯誤。我們可以通過編寫初始化程序-構造函數(shù)來實現(xiàn)對象的初始化。

        關鍵詞:C++;構造函數(shù)

        中圖分類號:TP311 文獻標識碼:A

        文章編號:1009-3044(2019)08-0234-02

        開放科學(資源服務)標識碼(OSID):

        Research on Object Initialization Method Based on Constructor in C++ Programming

        GAO Kui, FU Xiao-cui, LI Wei-yan

        (Information Science and Engineering, Shandong Agricultural University, Taian 271000, China)

        Abstract: When declaring an object in C++ programming, if the object needs to be initialized, the initial value of the object cannot be specified rashly, otherwise it will not only fail to achieve initialization, but also cause syntax errors at compile time. We can implement object initialization by writing initializers - constructors.

        Key words: C++; constructors

        1 背景

        對于學習C++程序設計的人員來說,理解程序中的基本概念是良好程序設計的開始。只有理解了這些概念,在解決實際問題的過程當中,才能得心應手,游刃有余。C++程序中聲明對象時,對象初始化跟普通變量不同,不能直接在聲明變量時直接初始化,而是需要由編寫的初始化程序來完成。這個初始化程序就是構造函數(shù)。理解構造函數(shù)的定義,正確進行對象的初始化,才能保證程序的正常運行。

        2 函數(shù)介紹

        構造函數(shù)的作用是在對象被創(chuàng)建時使用特定的值去構造對象,或者說將對象初始化為一個特定的狀態(tài)。

        與其他函數(shù)相比有如下不同:

        1)構造函數(shù)的名字必須與類名相同。

        2)函數(shù)沒有返回類型—包括void。

        3)在創(chuàng)建對象時,構造函數(shù)被自動隱含調用,它的作用就是初始化對象。

        使用時注意以下幾點:

        1)如果類中沒有構造函數(shù),編譯器會自動生成一個默認構造函數(shù),沒有參數(shù)也不做任何事情的構造函數(shù)。

        2)若聲明了構造函數(shù),編譯器就會在建立新對象時自動調用構造函數(shù)。

        3)若自定義的構造函數(shù)有形參,則聲明對象時就必須給出初始值進行初始化。

        4)構造函數(shù)可以被重載(即可以有多個同名的構造函數(shù)),方便我們用不同初始數(shù)據(jù)創(chuàng)建對象。

        我們可以根據(jù)構造函數(shù)的不同形式,選擇合適的形式將對象初始化成特定的狀態(tài)。請看如下例子:

        例題1:

        #include

        using namespace std;

        class Clock

        {

        public:

        void SetTime() {hour=10; min=42; sec=30;} //無構造函數(shù),使用公有函數(shù)設置時間

        void showtime(){cout<

        private:

        int hour,min,sec;

        };

        void main()

        {

        Clock t1; //只能如此聲明對象,調用默認構造函數(shù),不可以進行初始化。

        t1.SetTime();

        cout<<"現(xiàn)在時間是:"<

        t1.showtime();

        }

        運行結果:

        現(xiàn)在時間是:

        10:42:30

        分析:本程序中類的定義沒有聲明構造函數(shù),在主程序中聲明對象時自動調用默認構造函數(shù),無法進行初始化,因為默認構造函數(shù)什么也不做。定義了公有函數(shù)SetTime來進行時間的設置,完成對象的數(shù)據(jù)成員賦值。

        例題2:

        #include

        using namespace std;

        class Clock

        {

        public:

        Clock(int newh,int newm,int news) {hour=newh; min=newm; sec=news;}

        //定義帶參數(shù)構造函數(shù)

        void showtime(){cout<

        private:

        int hour,min,sec;

        };

        void main()

        {

        Clock t1 (12,45,56); //只能如此聲明對象,調用帶參數(shù)構造函數(shù),不可以省略初始值。

        cout<<"默認時間是:"<

        t1.showtime();

        }

        運行結果:

        默認時間是:

        12:45:56

        分析:本程序中類的定義聲明了帶參數(shù)的構造函數(shù),在主程序中聲明對象時必須給出對象的初始值進行初始化。

        例題3:

        #include

        using namespace std;

        class Clock

        {

        public:

        Clock( ) { hour=0; min=0; sec=0; } //無參數(shù)構造函數(shù)

        void showtime(){cout<

        private:

        int hour,min,sec;

        };

        void main()

        {

        Clock t1; //只能如此聲明對象,調用無參數(shù)構造函數(shù)

        cout<<"默認時間是:"<

        t1.showtime();

        }

        運行結果:

        默認時間是:

        0:0:0

        分析:本程序中類的定義聲明了無參數(shù)的構造函數(shù),在主程序中聲明對象時調用無參數(shù)構造函數(shù)進行初始化,不能給出對象的初始值。

        例題4:

        #include

        using namespace std;

        class Clock

        {

        public:

        Clock(int newh,int newm,int news) {hour=newh; min=newm; sec=news;}//帶參數(shù)構造函數(shù)

        Clock(int newh=1,int newm=1,int news=1) { } //帶默認參數(shù)構造函數(shù)

        void showtime(){cout<

        private:

        int hour,min,sec;

        };

        void main()

        {

        Clock t1(13,45,45),t2;

        //可以用兩種方式聲明類的對象,有初始值的和無初始值的,分別調用前面兩種形式的構造函數(shù)。

        cout<<"默認時間是:"<

        t1.showtime();

        t2.showtime();

        }

        運行結果:

        默認時間是:

        13:45:45

        1:1:1

        分析:本程序中類的定義聲明了帶參數(shù)和帶默認參數(shù)的構造函數(shù),構造函數(shù)被重載。在主程序中聲明對象時可以用兩種方式聲明類的對象,調用帶參數(shù)和帶默認參數(shù)的構造函數(shù)進行初始化。

        3 總結

        通過以上例子和分析可以得出如下結論:

        1)構造函數(shù)有默認的構造函數(shù)和聲明的構造函數(shù)。

        2)類中聲明了構造函數(shù)的,創(chuàng)建對象時一定要初始化。

        3)構造函數(shù)的參數(shù)形式多種多樣,分別有參數(shù)的,無參數(shù)的,帶默認值的等。

        4)聲明對象時一定要考慮構造函數(shù)的具體定義形式,給出對象的正確初始化。有參數(shù)的要給出初始化值,無參數(shù)的和帶默認值的不用給出初始值。

        4 結束語

        通過使用構造函數(shù),可以實現(xiàn)對象的初始化,通過舉例,總結了使用的規(guī)則和注意事項,提出了如何正確使用它們進行對象的初始化。

        參考文獻:

        [1] 譚浩強. C++程序設計[M]. 北京: 清華大學出版社, 2018.

        [2] 鄭莉. C++程序設計[M]. 4版. 北京: 清華大學出版社, 2013.

        [3] 梁勇. C++程序設計[M]. 北京: 機械工業(yè)出版社, 2008.

        【通聯(lián)編輯:謝媛媛】

        猜你喜歡
        中類調用程序設計
        基于Visual Studio Code的C語言程序設計實踐教學探索
        計算機教育(2020年5期)2020-07-24 08:52:56
        核電項目物項調用管理的應用研究
        廣東省通信制造業(yè)專利密集型產業(yè)分析
        從細節(jié)入手,談PLC程序設計技巧
        電子制作(2019年9期)2019-05-30 09:42:04
        LabWindows/CVI下基于ActiveX技術的Excel調用
        測控技術(2018年5期)2018-12-09 09:04:46
        基于系統(tǒng)調用的惡意軟件檢測技術研究
        高職高專院校C語言程序設計教學改革探索
        知識產權專業(yè)人員正式納入國家職業(yè)分類
        PLC梯形圖程序設計技巧及應用
        利用RFC技術實現(xiàn)SAP系統(tǒng)接口通信
        波多野结衣一区二区三区高清| 日韩精品乱码中文字幕| 亚洲av成人无码久久精品老人| 熟女人妇交换俱乐部| 久久久久欧洲AV成人无码国产 | 欧美巨大xxxx做受中文字幕| 亚洲男同免费视频网站| 国产大片黄在线观看| 亚洲精品国产成人无码区a片| 动漫av纯肉无码av在线播放| 97成人精品在线视频| 一女被多男玩喷潮视频| 大学生被内谢粉嫩无套| 国产成人精品视频网站| 亚洲天堂亚洲天堂亚洲色图| 美女网站免费福利视频| 四虎影永久在线观看精品| 按摩女内射少妇一二三区| 蜜桃一区二区三区视频网址| 最近中文字幕完整版免费| 最新亚洲人AV日韩一区二区| 国产三级精品三级在专区中文 | 色偷偷亚洲女人的天堂| 91成人自拍国语对白| 亚洲精品乱码久久久久久久久久久久| 97SE亚洲国产综合自在线不卡| 91中文在线九色视频| 噜噜综合亚洲av中文无码| 久久久久久成人毛片免费看| 久久国产av在线观看| 中文字幕乱码熟女人妻在线 | 国产精品久久久久久久专区| 亚洲成人av一区二区| 亚洲国产精品无码久久| 免费人成又黄又爽的视频在线| 免费啪啪av人妻一区二区| 欧美午夜理伦三级在线观看| 免费观看又色又爽又黄的韩国| 亚洲精品国产福利在线观看| 亚洲一区二区三区少妇| 亚洲av日韩专区在线观看|