• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 34,comments - 2,trackbacks - 0

            (1)、成員函數(shù)
            成員函數(shù)有一個非成員函數(shù)不具有的屬性——它的類itsclass 指向成員函數(shù)的指針必須與向其賦值的函數(shù)類型匹配不是兩個而是三個方面都要匹配:
            1 參數(shù)的類型和個數(shù)2 返回類型3 它所屬的類類型

            例如類screen:short Screen::*ps_Screen = &Screen::_height;

            數(shù)據(jù)成員指針在被用來訪問數(shù)據(jù)成員之前必須先被綁定到一個對象或指針上

            // 所有指向類成員的指針都可以用0 賦值
            int (Screen::*pmf1)() = 0;
            int (Screen::*pmf2)() = &Screen::height;//或者可以這樣寫:int Screen::*pmf2 = &Screen::height;
            注意:靜態(tài)類成員指針是該類的全局對象和函數(shù),引用的是普通指針


            (2)作用域


            1.全局域、類域、局部域的區(qū)別
            int _height;
            class Screen
            {
            public:
            Screen( int _height )
            {
                _height = 0; // 哪一個 _height? 參數(shù)
            }
            private:
            short _height;
            };

            先在函數(shù)內(nèi)查找_height ,找不到再在類域查找,最后在全局域查找
            可以這樣訪問:
            //this->_height = 0; // 指向 Screen::_height
            // 這樣也有效
            // Screen::_height = 0;
            ::_height = 0; // 指向全局對象


            2.命名空間
            namespace DisneyFeatureAnimation {
            class Node { /* ... */ };
            }
            Node *pnode; // 錯誤: Node 在全局域中不可見

            // using 聲明: 使得 node 在全局域中可見
            using cplusplus_primer::Node;
            Node another; // cplusplus_primer::Node


            3.嵌套類 :一個類可以在另一個類中定義這樣的類被稱為嵌套類

            class List {
            public:
            class ListItem {
            friend class List; // 友元聲明
            ListItem( int val = 0 ); // 構(gòu)造函數(shù)
            ListItem *next; // 指向自己類的指針
            int value;
            };
            // ...
            private:
            ListItem *list;
            ListItem *at_end;
            };

            // ok: 全局域中的聲明
            List::ListItem *headptr;


            // 較好的設計!
            class List {
            public:
            // ...
            private:
            // 現(xiàn)在 ListItem 是一個私有的嵌套類型
                 class ListItem
                 { 
             // 它的成員都是公有的
             public:
             ListItem( int val = 0 );
             ListItem *next;
             int value;
                 };
            ListItem *list;
            ListItem *at_end;
            };

            // 用外圍類名限定修飾嵌套類名   listitem的構(gòu)造函數(shù)定義
            List::ListItem::ListItem( int val ) {
            value = val;
            next = 0;
            }

            posted on 2011-11-30 20:33 Yu_ 閱讀(759) 評論(0)  編輯 收藏 引用 所屬分類: C/C++
            久久久无码精品亚洲日韩蜜臀浪潮 | 精品久久久久久无码国产| 久久九九久精品国产免费直播| 国产午夜精品久久久久九九电影| 久久久久无码专区亚洲av| 欧美国产成人久久精品| 亚洲午夜久久久影院伊人| 97久久超碰国产精品2021| 久久久久亚洲AV成人网| 一本一本久久A久久综合精品| 国产精品久久久久AV福利动漫| 精品无码久久久久久久久久| 亚洲精品乱码久久久久久中文字幕 | 日日噜噜夜夜狠狠久久丁香五月| 久久国产AVJUST麻豆| 国产精品99久久99久久久| 日本加勒比久久精品| 久久99国产精一区二区三区| 综合久久精品色| 国产午夜精品久久久久九九电影| 久久精品国产亚洲AV无码偷窥 | 精品欧美一区二区三区久久久| 久久99久久99精品免视看动漫| 国产真实乱对白精彩久久| 精品乱码久久久久久久| 久久精品国产亚洲av麻豆蜜芽| 久久国产乱子伦精品免费午夜| 国产精品女同久久久久电影院| 国内高清久久久久久| 亚洲精品国产自在久久| 精品多毛少妇人妻AV免费久久| 久久精品国产精品国产精品污 | 国产成人久久久精品二区三区 | 亚洲乱亚洲乱淫久久| 国产精品99久久久久久人| 久久精品国产亚洲av水果派| 亚洲精品无码成人片久久| 无码国内精品久久人妻蜜桃| 亚洲αv久久久噜噜噜噜噜| 久久精品无码一区二区WWW| 色婷婷综合久久久久中文|