close

1.引用string標頭擋寫法

  #include<string>

    using std::string;

2.引用iostream標頭檔

 #include<iostream.h>

3.friend 和string衝突                                                引用文章連結:                                                                             VC6冲破friend和cstring类的冲突,让friend和cstring类共存

   因#include<iostream.h>中string没有重載"<<"操作符號。                                                    c_str().是用來把string類型的數據轉化成char * ,使得#include< iostream.h >中的
   "
<<"能對char * 正確輸出。

   <例>
   #include <iostream.h>
   #include <string>
   using std::string;

   class CA
   {
     public:
        CA(){}
        CA(string n,int a):name(n),age(a){}
        friend ostream & operator << (ostream &,CA &);
     private:
        string name;
        int age;
   };

  ostream & operator <<(ostream & output,CA & ca)
  {
       output<<"name:"<<ca.name.c_str()<<endl;     //注意這裡的修改
       output<<"age:"<<ca.age<<endl;
       return output;
   }

  int main()
  {
       CA cc("luckydog",1);
       cout<<cc<<endl;
       return 0;
   }

 


 

To Be Continued...

 

 

 

 

 

 

 

 

  

arrow
arrow
    全站熱搜

    lalalah 發表在 痞客邦 留言(0) 人氣()