您的位置:首页 > 编程语言 > C语言/C++

c++ primer plus 第十章-编程题6

2015-08-19 14:17 531 查看
/*
-------------------------------------------
ad:
x = 10.5 , y = 6.5
ae:
x = 4.44 , y = 2.11
ad + ae:
x = 14.94 , y = 8.61
x = 0 , y = 0
x = 0 , y = 0
-------------------------------------------
*/

//Move.h
#ifndef ___0_10_6__Move__
#define ___0_10_6__Move__

class Move {
private:
double x;
double y;
public:
Move(double a = 0, double b = 0);
void showmove() const;
Move add(constMove & m) const;
void reset(double a =0, double b =0);
};

#endif /* defined(___0_10_6__Move__) */

//Move.cpp
#include <iostream>
#include "Move.h"

Move::Move(double a,double b) {
x = a;
y = b;
}

void Move::showmove()const {
std::cout <<"x = " << x <<" , " << "y = " <<y << "\n";
}

Move Move::add(constMove & m) const {
Move n;
n.x = x + m.x;
n.y = y + m.y;
return n;
}

void Move::reset(double a,double b) {
x = a;
y = b;
}

//main.cpp
#include <iostream>
#include "Move.h"

int main() {
using std::cout;

Move ad(10.5,6.5);
Move ae(4.44,2.11);
Move sum;

cout << "ad:\n";
ad.showmove();
cout << "ae:\n";
ae.showmove();
sum = ad.add(ae);
cout <<"ad + ae:\n";
sum.showmove();
ad.reset();
ae.reset();
ad.showmove();
ae.showmove();
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++