首页 > 其他分享 >模板类

模板类

时间:2023-05-08 22:23:44浏览次数:26  
标签:real distance dist double image Complex 模板

1、复数类Complex有两个数据成员:a和b, 分别代表复数的实部和虚部,并有若干构造函数和一个重载-(减号,用于计算两个复数的距离)的成员函数。 要求设计一个函数模板

template < class T >

double dist(T a, T b)

对int,float,Complex或者其他类型的数据,返回两个数据的间距。

以上类名和函数模板的形式,均须按照题目要求,不得修改

输入格式:

每一行为一个操作,每行的第一个数字为元素类型,1为整型元素,2为浮点型元素,3为Complex类型,若为整型元素,接着输入两个整型数据,若为浮点型元素,接着输入两个浮点型数据,若为Complex型元素,输入两个Complex型数据(a1 b1 a2 b2),输入0时标志输入结束。

输出格式:

对每个输入,每行输出一个间距值。

输入样例:

1 2 5

3 2 4 5 9

2 2.2 9.9

0

 

输出样例:

3

5.83095

7.7

 1 1.#include<iostream>
 2 #include<math.h>
 3 using namespace std;
 4 template <class T>
 5 double dist(T a,T b){
 6  double distance=a-b;
 7  return fabs(distance);
 8 }
 9 class Complex{
10  private:
11   double real;
12   double image;
13  public:
14   Complex(double r=0,double i=0){
15    real=r;
16    image=i;
17   }
18  double operator-(Complex p){
19      double distance=0;
20      double t=(real-p.real)*(real-p.real)+(image-p.image)*(image-p.image);
21      distance=sqrt(t);
22      return distance;
23     }
24 };
25 int main(){
26  int ch=0;
27  while (cin>>ch){
28   if(ch==0)
29      break;
30   else if(ch==1){
31    int a,b,distance;
32    cin>>a>>b;
33    distance=dist(a,b);
34    cout<<distance<<endl;
35   }
36   else if(ch==2){
37    float a,b;
38    double distance;
39    cin>>a>>b;
40    distance=dist(a,b);
41    cout<<distance<<endl;
42   }
43   else if(ch=3){
44    double a,b,c,d,distance;
45    cin>>a>>b>>c>>d;
46    Complex p1(a,b),p2(c,d);
47    distance=dist(p1,p2);
48    cout<<distance<<endl;
49   }
50  }
51  return 0;
52 }

 

标签:real,distance,dist,double,image,Complex,模板
From: https://www.cnblogs.com/liubingyu/p/17383323.html

相关文章

  • 模板层
    模板层一、模板简介在刚刚介绍完的视图层中我们提到,浏览器发送的请求信息会转发给视图进行处理,而视图在经过一系列处理后必须要有返回信息给浏览器。如果我们要返回html标签、css等数据给浏览器进行渲染,我们可以在视图中这么做fromdjango.shortcutsimportHttpResponseimpor......
  • JAVA快速开发框架 一键生成表单模板代码
    从计算机诞生开始,虽然编程的形式随着硬件及软件的不断进步而不停迭代,但是从事计算机技术行业的人员始终与编写代码的任务紧密联系在一起。因此如何提高软件开发的效率和质量,一直是软件工程领域的重要问题之一。这一方面是由于在不同软件开发过程中存在大量相似代码复用的情况,多次......
  • JAVA快速开发框架 一键生成表单模板代码
    从计算机诞生开始,虽然编程的形式随着硬件及软件的不断进步而不停迭代,但是从事计算机技术行业的人员始终与编写代码的任务紧密联系在一起。因此如何提高软件开发的效率和质量,一直是软件工程领域的重要问题之一。这一方面是由于在不同软件开发过程中存在大量相似代码复用的情况,多次编......
  • 函数模板和类模板2
    一.问题描述:复数类Complex有两个数据成员:a和b,分别代表复数的实部和虚部,并有若干构造函数和一个重载-(减号,用于计算两个复数的距离)的成员函数。要求设计一个函数模板template<classT>doubledist(Ta,Tb)对int,float,Complex或者其他类型的数据,返回两个数据的间距。以上......
  • K-D Tree模板/P4169 [Violet]天使玩偶/SJY摆棋子
    \(\color{purple}\text{P4169[Violet]天使玩偶/SJY摆棋子}\)以本题为例题讲解模板怎么写。思路\(\text{K-DTree}\)是一种类二叉查找树,不过元素是多维的,所以每次对于子树的划分也是依据不同维度的。本题使用二维的\(\text{K-DTree}\),这样每次将图分成左右子树其实就是将......
  • idea 模板变量
    参考官方文档PredefinedtemplatevariablesThefollowingpredefinedvariablescanbeusedinfiletemplates:VariableDescription$DATE}Currentsystemdate$DAY}Currentdayofthemonth$DIR_PATH}Pathtothedirectoryofthenewfile(relativet......
  • Halcon模板匹配之形状匹配,缩放比匹配,相关性匹配
     是什么是模板匹配?模板就是一副已知的小图像,而模板匹配就是在一副大图像中搜寻目标,已知该图中有要找的目标,且该目标同模板有相同的尺寸、方向和图像元素,通过一定的算法可以在图中找到目标,确定其坐标位置 模板匹配的参数介绍:1.图像金字塔:Numberlever2.起始角度:AngleStart......
  • 【java】javamail+freemarker生成邮件模板,并发送邮件
    一、前言      在上一篇博客中小编向大家介绍了发送带附件的邮件,实践一下也是不错的。这一篇博客是为下一篇博客进行铺垫的,因为项目中需要一个推送的功能,要把推送的信息灵活的显示到一个固有的模板上。所以为了达到这个目的,小编就引入了freemarker。下面向大家介绍。二、What......
  • idea注释模板
    idea注释模板 类注释设置File-->settings-->Editor-->FileandCodeTemplates-->Includes-->FileHeader,粘贴如下内容即可。记得把作者修改称自己,Apply后新建类和接口都会自动生成注释。/***@Description:*@Copyright:Copyright(c)2019ALLRIGHTSRESER......
  • 【模板】 Splay
    splay#include<bits/stdc++.h>usingnamespacestd;constintN=5e6+10;intval[N],cnt[N],fa[N],ch[N][2],siz[N];inttot,root;voidmaintain(intx){ siz[x]=siz[ch[x][0]]+siz[ch[x][1]]+cnt[x];}boolget(intx){ returnx==ch......