栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

6-11 二维向量相加(C++ 运算符重载)分数 10

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

6-11 二维向量相加(C++ 运算符重载)分数 10

裁判测试程序样例中展示的是一段二维向量类TDVector的定义以及二维向量求和的代码,其中缺失了部分代码,请补充完整,以保证测试程序正常运行。

函数接口定义:
提示:需要补充的函数有:
1. 带参构造函数
2. getX
3. getY
4. setX
5. setY
6. 运算符重载函数

裁判测试程序样例:

#include
#include
using namespace std;
class TDVector{
private:
    double x;
    double y;
public:
    TDVector(){
        x = y = 0;
    }

};
int main(){
    TDVector a;
    double x, y;
    cin >> x >> y;
    TDVector b(x, y);
    cin >> x >> y;
    TDVector c;
    c.setX(x);
    c.setY(y);
    TDVector d;
    d = a + b + c;
    cout << fixed << setprecision(2) << d.getX() << ' ' << d.getY();
    return 0;
}
 

输入样例:
1.1 2.2
3.3 4.4

输出样例:
4.40 6.60

代码长度限制

16 KB

时间限制

100 ms

内存限制

4 MB

这里直接给出完整代码:

#include 
#include 
using namespace std;
class TDVector{
private:
    double x;
    double y;
public:
    TDVector(){
        x = y = 0;
    }


TDVector(double x,double y):x(x),y(y)
{
	
}
void setX(double x)
{
	this->x=x;
 } 
 void setY(double y)
 {
 	this->y=y;
 }
 double getX()
 {
 	return x;
 }
 double getY()
 {
 	return y;
  } 
  TDVector operator +(TDVector c)           //加法运算符重载 
  {
  	this->x=this->x+c.x;                   //相当于x=x+C.x, y=y+C.y 
  	this->y=this->y+c.y;
  	return *this;
  }
  
};
int main(){
    TDVector a;
    double x, y;
    cin >> x >> y;
    TDVector b(x, y);
    cin >> x >> y;
    TDVector c;
    c.setX(x);
    c.setY(y);
    TDVector d;
    d = a + b + c;                 //这里的加法就不是普通的加法了,对应的是加法重载函数的运算方式 
    cout << fixed << setprecision(2) << d.getX() << ' ' << d.getY();
    return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/879552.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号