class cwin
{
    private:
        char id;
        int width;
        int height;
    public:    
        cwin(char i,int w,int h):id(i),width(w),height(h)
        {
        }
        
     cwin(&)  compare(cwin &win)  //以值接收 或 以參照接收
     {
      cout<<" &win = "<<&win<<endl;
      if(this->area() >win.area())
          return *this;
      else if(this->area() < win.area())
          return win;
      else
          cout<<'\t'<<"both is equality " <<endl;
     }
     
     int area(void)
     {
         return width*height;
     }
     char  get_id(void) 
     {
         return id;
     }
};

int main(void)
{
    cout<<endl<<endl<<endl;
    cwin win1('a',30,80);
    cwin win2('b',80,70);
   

    cout<<"&win1.compare(win2) = "<<&win1.compare(win2)<<endl;  //以參照接收,此列程式碼可執行,以求得物件地址.
    //若compare成員函式接收的引數為以值接收,且成員函式傳回win2時,則上列傳回物件為compare成員函式接收引數中的物件,而非           win2,因此若要傳回win2,則compare成員函式接收的引數必須為以參照接收.

    cout<<" &win1 = "<<&win1<<endl;
    cout<<" &win2 = "<<&win2<<endl;
    cout<<'\t'<<"windows "<<(win1.compare(win2)).get_id();
    cout<<" is larger "<<endl;

system("pause");
return 0;
}     

    

arrow
arrow
    全站熱搜

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