解释:排序与查找题目与前面传重了,这个题目也没有面向对象,嗯,没有提醒老师,我不想多写题 狗头

基于类的链表稍后整理模板的时候上传吧,这题就不另传了,tas上有基于结构体的链表实现


运算符重载

//by YewLi
#include <iostream>
#include<cmath>
using namespace std;
class Complex{ //自定义复数类型
private:double real;double imag;
public:Complex(double a=0, double b=0){//构造函数real = a;imag = b;}Complex operator+(Complex a){return Complex(a.real + real,a.imag + imag);}Complex operator-(Complex a){return Complex(a.real - real,a.imag - imag);}bool operator==(Complex a){return (a.real == real) && (a.imag == imag);}friend Complex operator*(Complex a,Complex b);friend Complex operator/(Complex a,Complex b);friend ostream& operator<<(ostream & os,Complex a);
};
Complex operator*(Complex a,Complex b){return Complex(a.real*b.real - a.imag*b.imag ,a.real*b.imag + a.imag*b.real);
}
Complex operator/(Complex a,Complex b){//if((b.real == 0) && (b.imag == 0))return Complex((a.real*b.real + a.imag*b.imag)/(b.real*b.real + b.imag*b.imag),(a.imag*b.real - a.real*b.imag)/(b.real*b.real + b.imag*b.imag));
}
ostream& operator<<(ostream & os,Complex a){if(a.imag > 0){os<<a.real<<" + "<<a.imag<<"i";return os;}if(a.imag == 0){os<<a.real;return os;}if(a.imag < 0){os<<a.real<<" - "<<abs(a.imag)<<"i";return os;}}
int main(){Complex com1(20,1),com2(10,19);cout<<"com1 + com2 = "<<com1 + com2<<endl;//此处仅仅是为了说明需要重载运算符"<<"。cout<<"com1 - com2 = "<<com1 - com2<<endl;cout<<"com1 * com2 = "<<com1 * com2<<endl;cout<<"com1 / com2 = "<<com1 / com2<<endl;
}

这好像是上课顺便跟着写的,没再调,问题应该不大,输入参数是我随手写的。

加减乘除都好说,输出流重载记得ostream &os 然后输出到os 返回os即可。

模板题,无内鬼。


//by YewLi
// 熟悉类的声明,定义和使用对象
#include <iostream>
#include <cmath>
#define pi 3.14
using namespace std;
class Point{
public:double x,y;Point(double xx = 0,double yy = 0):x(xx),y(yy){} void print(){cout<<"Point is x: "<<x<<"y: "<<y<<endl; }double distance(Point &p){return sqrt(abs(x - p.x)*abs(x - p.x) + abs(y - p.y)*abs(y - p.y));}//在此定义构造函数//在屏幕上打印Point对象的函数 //计算这个点到另外一个点的距离的函数
};
class Circle{
public:Point location; //圆心的坐标double r;   //圆半径
public:Circle(double a,double b,double c){location.x = a,location.y = b,r = c;}int stateOfCircle(Circle c){if(location.distance(c.location) == 0)return 0;//同心 if(location.distance(c.location) == abs(r - c.r) || location.distance(c.location) == abs(r + c.r))return 1;//相切 if(location.distance(c.location) < abs(r - c.r) || location.distance(c.location) > abs(r + c.r))return 2;//相离if(location.distance(c.location) > abs(r - c.r) || location.distance(c.location) < abs(r + c.r))return 3;//相交 } double area(){return pi*r*r;} //构造函数//两个圆的位置关系函数 stateOfCircle(Circle c) //计算圆面积的函数 area( ) //计算两个圆的圆心距离  distance(Point p)void print(){}
};
int main(){Circle c1(19,10,2),c2(15,12,2);int fl = c1.stateOfCircle(c2);if(fl == 0)cout<<"同心"<<endl;else if(fl == 1)cout<<"相切"<<endl;else if(fl == 2)cout<<"相离"<<endl;elsecout<<"相交"<<endl;return 0;
}

圆和点,题目要求定义面积函数,但可能没啥用,我也就没调试。

主程序调试是手动赋的值可以更改调试。

point类作为circle的一个成员注意构造函数附一个初始值,否则可能导致只传一个参数给Point构造函数无法匹配。

然后判断就行,无内鬼++

黄浩老师cpp平时作业(十三)圆形正方形类 运算符重载组合类圆和点(排序与查找题目重复)相关推荐

  1. 黄浩老师cpp平时作业(十二)圆形正方形类

    //by YewLi //1.定义Circle类和Square类,Circle类的成员变量为半径和面积,Square类的成员变量为边长和面积. //2.生成Circle类对象和Square类对象,并让 ...

  2. 黄浩老师cpp平时作业(九)九九乘法表

    //by YewLi //NineNine文件 #include<iostream> #include"mylib.h" using namespace std; in ...

  3. 黄浩老师cpp平时作业(二)蒙特卡罗阴影面积

    使用自定义积分函数的解决方法: 使用自定义积分函数利用矩形面积累加方法计算阴影面积的C++代码如下,供参考.阴影面积计算的结果是19.5039. //Shadow.cpp 小学六年级数学题 计算阴影面 ...

  4. 黄浩老师cpp平时作业(十一)矩阵乘法矩形类读写文件与结构体

    "读写文件与结构体"这道题被我跳过去了 理由:它是个压缩包,第一次整体写题的时候按word写把它给忘了:它太麻烦了码量太大现在没时间(懒,得,理,直,气,壮) //后记 诶呀,我在 ...

  5. 黄浩老师cpp平时作业(四)杨辉三角

    //by YewLi #include <iostream> using namespace std; void YangHuiData(int *, int); void YangHui ...

  6. 黄浩老师cpp平时作业(七)三角形的计算数组与函数

    //by YewLi /* TriangleInfo.cpp 函数传地址的例子 */ #include <iostream> #include<cmath> using nam ...

  7. 黄浩老师cpp平时作业(十)递归函数及其调用

    //by YewLi //实现1! + 2! + - + 10!的功能, //在main()函数中调用suma()函数, //在suma()函数中实现1 至 10的循环, //在suma()函数的循环 ...

  8. 黄浩老师cpp平时作业(五)圆周率计算一、二(第二道即pi的近似计算)

    //by YewLi #include<iostream> #include<cstdlib> #include<cstdio> #include<ctime ...

  9. 黄浩老师cpp平时作业(一)前五道水题

    个人所得税计算公式 肥胖指数计算 绩点计算 球反弹高度 素数判别 ​

最新文章

  1. SAP RETAIL 如何确定自动补货触发的单据类型 III
  2. Array的javascript数据结构描述
  3. python excel取列_python取excel表格第一列数据-python操作excel,使用xlrd模块,获取某一列数据的......
  4. Kafka概念和基本架构概述
  5. 小学生计算机课堂实践的重要性,小学《信息技术》有效课堂教学的实践与研究课题方案...
  6. 很多家长学历不高,无法辅导孩子的家庭作业怎么办?
  7. el表达式 循环_EL表达式+JSTL+Ajax 047
  8. 美国企业开发新型锂硅电池,将使手机电量增加30%以上
  9. c++实现Matlab矩阵Matrix类(实矩阵Matrix、复矩阵CMatrix)
  10. datagrid编辑单元格中的内容
  11. 电脑电子版文件怎么弄_清空回收站后,如何找回删除的文件?
  12. 同济大学计算机学硕无人录取,2019年双非上岸同济大学计算机考研初复试经验分享,超详细!...
  13. 构建请求header fake_useragent安装以及解决方法
  14. php jion用法,ThinkPHP关于JOIN使用方法详细说明
  15. 大学计算机课程进制的转换教程,交大计算机课程(1):各种进制转换
  16. PCA(主成分分析)-------原理,推导,步骤、实例、代码
  17. 【国庆福利】中奖名单公布
  18. 重磅消息:Lazada和Shopee通过中国执照就可以开通本地店铺,享受更多的流量和资源扶持
  19. repost 懊悔自己没能在本科和研究生期间邂逅ACM
  20. Macbook(M1版)的用户看过来,.net 6 Preview 6支持Apple Silicon for macOS

热门文章

  1. 利用 Python 去除 PDF 水印(和图片水印原理一样)
  2. 《现代操作系统》读书笔记1
  3. IEEE ICCSE 2021 Call for Papers(征文公告)
  4. 微信小程序数据操作(增、删、改、查),id为随机数
  5. 符号说明表怎么做_详解施工图制图规范:图画比例及图画构图的设置说明
  6. Windows系统——JRE安装
  7. Leetcode 500题AC的刷题总结(C与C++)
  8. 一个有趣的智力题,可以看看
  9. shell脚本案例(一):常见运维面试题
  10. 51单片机定时器初值计算以及初值计算软件