• <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>

            Pencil.C++

            更新速度可能會晚于http://blog.csdn.net/bilaopao

              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              34 隨筆 :: 0 文章 :: 40 評論 :: 0 Trackbacks
            12.運(yùn)算符重載:  &nbs12.運(yùn)算符重載:
                  operator 函數(shù)用法:(不能有下列字符:'::','.','*','->','? :')p;   
                      1.一般:int class_name::operator <運(yùn)算符> (形參列表)   (例92)
                      2.增量減量運(yùn)算符:   (例93,94,95,96)
                           a.將一個增量運(yùn)算符重載為前置的成員函數(shù):12.運(yùn)算符重載:  &nbs
                                       int class_name::operator++();
                           b.將一個增量運(yùn)算符重載為后置的成員函數(shù):
                                       int class name::operator++(int);12.運(yùn)算符重載:  &nbs
                           c.將一個增量運(yùn)算符重載為前置的友元函數(shù):
                                       int operator ++(class_name&);         
                           d.將一個增量運(yùn)算符重載為前置的友元函數(shù):)    
                                       int operator ++(class_name&,int);     
                           e.下標(biāo)運(yùn)算符:
                                       int class_name::operator[](形參)  //只能是非靜態(tài)成員函數(shù)                           operator 函數(shù)用法:(不能有下
                           f.函數(shù)調(diào)用運(yùn)算符: 
                                       int class_name::operator()(形參表)//只能是非靜態(tài)函數(shù),且不可以帶有缺省的參數(shù)
                           g.成員選擇運(yùn)算符:12.運(yùn)算符重載:  &nbs
                                       class_name $/* class_name::operator->();
                           h.new delete運(yùn)算符:
                                       void *class_name::operator new(siz_t,<arg_list>);12.運(yùn)算符重載:  &nbs
                                       void *class_name::operator delete(void *,<size_t>);
                               new delete只能被重載為類的成員函數(shù),不能是友元。而且無論是否使用關(guān)鍵字static
                               進(jìn)行修飾,重載了的new和delete均為類的表態(tài)成員函數(shù)。p;   
                                   對于typedef unsigned size_t;
                               在頭文件alloc.h,mem.h,stddef.h,stdio.h,stdlib.h均說明;
                           i.友元函數(shù): operator 函數(shù)用法:(不能有下
                                   可以是一個類的非靜態(tài)函數(shù),也可以是類的友元函數(shù)。
                                  {friend complex operator+(complex&,complex&);
                                  }; 12.運(yùn)算符重載:  &nbs
                             以下五種運(yùn)算符不說明成友元運(yùn)算符:
                                  "=","()","[]","->","type"; 
                           j.轉(zhuǎn)換函數(shù): operator 函數(shù)用法:(不能有下
                                     class_name::operator type();  //type 是任何一個合法的C++的類型名(包括基本數(shù)據(jù)類型和導(dǎo)出數(shù)據(jù)類型)以及由關(guān)鍵字const和volatile引出的表達(dá)示。)
                                                                   //不帶任何參數(shù),也無返回值類型,總是返回type的值。只能是類的成員函數(shù),不能說明為友元運(yùn)算符。
                           k.類的賦值運(yùn)算與運(yùn)算符重載:列字符:::,.,*,->,? :
                                     person & person::operator=(person &p)
                                       {dele Name;
                                        Name=new char[strlen(p.Name)+1];12.運(yùn)算符重載:  &nbs
                                        strcpy(Name,p.Name);
                                        Age=p.Age;
                                        Sex=p.Sex;p;   
                                        return *this;
                                       }
                                    典型例題。當(dāng)用系統(tǒng)自帶對象賦值的函數(shù),如果對象里有如 *Name 型的,則賦值后會使兩個指針同時指向一個成員元素的地址,當(dāng)調(diào)用析構(gòu)函數(shù)釋放時,會釋放兩次,多釋放一次,而產(chǎn)生錯誤,這個典型例題是用于把一個成員元素復(fù)制到另一個對象中,不是單純移動指針,當(dāng)調(diào)用析構(gòu)函數(shù)時,會釋放兩次。12.運(yùn)算符重載:  &nbs
                           l.重載函數(shù):系統(tǒng)僅對形參加以區(qū)別。
            13.虛函數(shù)
                 一般情況下,指向一個對象的指針,不允許指向另一個對象,但指向基類對象的指針可以指向它的派生類,并可以訪問派生類中原基類成員。12.運(yùn)算符重載:  &nbs
                 如果一個函數(shù)一旦說明為虛函數(shù),則無論說明它的類被繼承了多少層,在每一層中該函數(shù)都保持該virturl特性。且可以在派生類中對該函數(shù)省略virtual.
                 虛函數(shù)必須是類的一個成員函數(shù),不能是友元,但它可以是另一個類的友元。虛函數(shù)不能是一個靜態(tài)成員。
                 設(shè)定綁定方式,使程序具有靈活性,但執(zhí)行效率低,占用內(nèi)存多.     operator 函數(shù)用法:(不能有下
            14.抽象類:純虛函數(shù)
                  純虛函數(shù)的一般形式為:virturl 類型名(參數(shù)表)=0;抽象類不能申請對象。
            15.類屬結(jié)構(gòu):12.運(yùn)算符重載:  &nbs
                   1.函數(shù)模板:template <class 模板形參表>                
                            返回值類型 函數(shù)名(模板函數(shù)形參表)
                              {)    
                               函數(shù)體;
                              }
                         example:p;   
                             template  <class T>
                             void swap(T &.x,T&.y)
                              {T t;列字符:::,.,*,->,? :
                               t=x;x=y;y=t;
                              }
                   2.重載函數(shù)模板:調(diào)用用次序:12.運(yùn)算符重載:  &nbs
                        1)尋找一個完全匹配的函數(shù),找到,調(diào)用之。
                        2)尋找一個函數(shù)模板,將其實例化產(chǎn)生一個匹配的模板函數(shù),找到,調(diào)用之。
                        3)尋找重載函數(shù)中有無通過類型轉(zhuǎn)換后產(chǎn)生參數(shù)匹配的函數(shù),若有,調(diào)用之。p;   
                   3.類模板:template <class 模板形參>
                             class 類模板名
                             {12.運(yùn)算符重載:  &nbs
                              類體;
                             }
                         example:  tempplate <class T>12.運(yùn)算符重載:  &nbs
                                   class stack
                                   {private:
                                      T *date; 12.運(yùn)算符重載:  &nbs
                                      int top;
                                    public:
                                      isempty();12.運(yùn)算符重載:  &nbs
                                   }
                                   template <class T>
                                   {...}   operator 函數(shù)用法:(不能有下
            16.類模板的友元:
                      a.一般的類模板友元函數(shù)。
                      b.封閉型的類模板友元函數(shù)。當(dāng)用類型參數(shù)將類模板實例化為某個具體的模板類時,該類模板所包含的友元函數(shù)也將隨之實例化。列字符:::,.,*,->,? :
                      c.開放型的類模板友元函數(shù)。
                   例一百二十一。
            17.C++的I/O流庫 operator 函數(shù)用法:(不能有下
                1.  I/O標(biāo)準(zhǔn)流類  
                    -----------------------------------------
                    c++名字  設(shè)備  | C中的名字 | 默認(rèn)的含義)    
                    -----------------------------------------
                    cin      鍵盤  | stdin     | 標(biāo)準(zhǔn)輸入
                    -----------------------------------------12.運(yùn)算符重載:  &nbs
                    cout     屏幕  | stdout    | 標(biāo)準(zhǔn)輸出
                    -----------------------------------------
                    cerr     屏幕  | stderr    | 標(biāo)準(zhǔn)錯誤)    
                    -----------------------------------------
                    clog     | 打印機(jī) | stdprn    打印機(jī)
                    -----------------------------------------p;   
                 2。鍵盤輸入
                    cin>>a>>b>>c;  //Ctrl+z終止
                    cin.get(char &ch)//從輸入流獲取一個字符,不忽略空格Ctrl+z終止)    
                    cout.put(ch)//輸出一個字符       
                EOF//其值為-1,相當(dāng)于終止符 
                    cin.geline(char *buf,int limit,Deline='\n')//buf為一個指針或數(shù)組,limit為字符個數(shù),Deline為讀取字符指定結(jié)束符。作用:從鍵盤讀入一串字符。結(jié)束用Ctrl+z.列字符:::,.,*,->,? :
                cin.gcount()//返回getline()剛剛讀過的字符個數(shù) 
                    cin.read(char *buf,int size)//讀入指定數(shù)目的字符
                cout.write(const char *str,int n)//cout.write("string",strlen("string");則輸出全部字符。p;   
                cin.peek()//返回輸入流的下一個字符,但是不提取它。
                long(a)//a可以是指針地址,作用,強(qiáng)制轉(zhuǎn)換為十進(jìn)制數(shù)。
                (void*)//ex:char str="abcde";cout<<str;將str為首地址字符串的首地址輸出。   列字符:::,.,*,->,? :
            18.輸入符,提取符重載:<<  >>
                 例154 155例題
            posted on 2009-04-24 19:33 Pencil.C++ 閱讀(250) 評論(0)  編輯 收藏 引用

            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            久久久久久亚洲精品不卡| 久久综合丁香激情久久| 久久精品人成免费| 精品久久久久久无码专区| 久久高潮一级毛片免费| 国产精品久久新婚兰兰| .精品久久久麻豆国产精品| 久久久久人妻一区精品| 久久久精品人妻一区二区三区蜜桃 | 久久久精品人妻一区二区三区四| 久久97精品久久久久久久不卡| 久久国产视屏| 久久99精品国产一区二区三区| 久久久国产亚洲精品| 99久久国产主播综合精品| 久久婷婷五月综合97色| 综合久久一区二区三区 | www久久久天天com| 亚洲伊人久久成综合人影院 | 久久精品国产99国产精品| 91精品国产91久久久久福利| 国产精品久久久久久久人人看 | 亚洲国产一成人久久精品| 欧美激情精品久久久久久久| 波多野结衣久久精品| 99久久久久| 夜夜亚洲天天久久| 国产精品久久久久AV福利动漫 | 久久WWW免费人成—看片| 国产∨亚洲V天堂无码久久久| 日韩人妻无码一区二区三区久久99| 久久精品免费网站网| 国产亚洲美女精品久久久| 热久久国产精品| 伊人久久大香线蕉精品| 99久久www免费人成精品| 人人狠狠综合久久亚洲婷婷 | 无码任你躁久久久久久老妇| 欧美午夜A∨大片久久 | 国产精品久久久久9999| 国产精品久久久久久吹潮|