程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> os-c++中運算符重載 這個小程序怎麼不對呢

os-c++中運算符重載 這個小程序怎麼不對呢

編輯:編程綜合問答
c++中運算符重載 這個小程序怎麼不對呢

#include
using namespace std;

class R{
public :
int n;
int d;

R(int a,int b)
{
    this->n=a;
    this->d=b;
}

};

ostream operator<< (ostream &os,R &r)
{
// os<<r.n<<endl;
// os<<r.d<<endl;;

os<<r.n<<','<<r.d;
return os; //此處報錯了 在vs2015中做的
}

int main()
{

R a(2,3),b(4,5);
cout<<a<<b;
return 0;

}

最佳回答:


這是我寫的一個重載輸入輸出去處符的小例子, 你參考一下吧

class Test

{
public:
    int a;
    int b;
    Test():a(0),b(0){}
    Test(int a, int b):a(a),b(b){}
    //重載輸入輸出運算符,只能用友元函數
    friend ostream &operator<<(ostream &os, const Test &T);
    friend istream &operator>>(istream &is, Test &T);
};

ostream &operator<<(ostream &os, const Test &T)
{
    os << "a = " << T.a << endl;
    os << "b = " << T.b << endl;

    return os;
}

istream &operator>>(istream &is, Test &T)
{
    is >> T.a >> T.b;
    return is;
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved