word完美格式
5.3简答题
A、友元的特点
B、运算符重载的含义 C、运算符重载的限制
5.4读程序题
1、 写出下列程序的运行结果。 #include
public:
Rect(int l,int w){length=l;width=w;}
void Print(){cout<<\
Rect operator *(int d){return Rect(length*d, width * d);} private:
int length,width; };
void main() {
Rect p(5,4), m(0,0); m = p * 4; m.Print(); }
答案: Area:320
2、 写出下列程序的运行结果。 #include
public:
Vector(){}
Vector(int i,int j){x=i;y=j;}
friend Vector operator +=(Vector v1,Vector v2) {
v1.x+=v2.x; v1.y+=v2.y; return v1; }
精心整理 学习帮手
word完美格式
Vector operator -=(Vector v) {
Vector temp; temp.x=x-v.x; temp.y=y-v.y; return temp; }
void display(){cout<<\private: int x,y; };
void main() {
Vector v1(1,2),v2(3,4),v3,v4; v3=v1+=v2; v4=v1-=v2; cout<<\ v1.display(); cout<<\ v2.display(); cout<<\ v3.display(); cout<<\ v4.display(); }
答案: v1=(1,2) v2=(3,4) v3=(4,6) v4=(-2,-2)
3、 写出下列程序的运行结果。 #include
public:
Coord(int I=0,int j=0){x=I;y=j;}
void Print(){cout<<\ friend Coord operator++(Coord op);
friend Coord operator++(Coord &op, int ); private:
int x, y; };
精心整理 学习帮手
word完美格式
Coord operator++(Coord op) {
++op.x; ++op.y; return op; }
Coord operator++(Coord &op, int) {
++op.x; ++op.y; return op; }
void main() {
Coord obj(1,2), obj2(5,8); obj.Print(); ++obj; obj2++;
obj.Print(); obj2.Print(); }
答案: x=1,y=2 x=1,y=2 x=6,y=9
精心整理 学习帮手