65,187
社区成员




#include <iostream>
using namespace std;
class Sales_item
{
string isbn; //���
int num; //��
double price; //�۸�
public:
Sales_item ():isbn(""),num(0), price(0){}
Sales_item (string str, int ival, double dprice):isbn(str), num(ival), price(dprice){}
Sales_item ( const Sales_item& temp)
{
num = temp.num;
price = temp.price;
}
~Sales_item (){}
ostream& print( ostream& out ) const
{
out << isbn << " " << num << " " << price <<endl;
return out;
}
Sales_item& operator = (const Sales_item& tmp2)
{
num = tmp2.num;
price = tmp2.price;
return *this;
}
Sales_item& operator +=( const Sales_item& other )
{
num += other.num;
return *this;
}
friend ostream& operator <<(ostream &out, const Sales_item& temp)
{
return temp.print( out );
}
friend const Sales_item operator +(const Sales_item& tmp1, const Sales_item& tmp2)
{
Sales_item tmp(tmp1);
tmp += tmp2;
return tmp;
}
};
int main()
{
Sales_item test1("adf",5,5.6);
Sales_item test2,test3;
test2=test1;
test3 = test1+test2; //����������������������أ�����⣬����Լ��������
cout <<test2 <<endl;
//system("pause");
return 0;
}
#include <iostream>
#include <iostream>
using namespace std;
class Sales_item
{
string isbn; //ÌõÐÎÂë
int num; //ÊýÁ¿
double price; //¼Û¸ñ
public:
Sales_item ():isbn(""),num(0), price(0){}
Sales_item (string str, int ival, double dprice):isbn(str), num(ival), price(dprice){}
Sales_item (Sales_item& temp)
{
num = temp.num;
price = temp.price;
}
~Sales_item (){}
friend ostream& operator <<(ostream &out, const Sales_item& temp)
{
out << &(temp.isbn[0]) << " " << temp.num << " " << temp.price <<endl; //string的输出得注意~~
return out;
}
Sales_item operator +(const Sales_item& tmp1) //不要为友元
{
Sales_item temp;
temp.num = tmp1.num + num;
return temp;
}
Sales_item& operator = (Sales_item& tmp2)
{
num = tmp2.num;
price = tmp2.price;
return *this;
}
};
int main()
{
Sales_item test1("adf",5,5.6);
Sales_item test2,test3;
test2=test1;
test3 = test1+test2; //
cout <<test2 <<endl;
system("pause");
return 0;
}