首页 > 其他分享 >函数模板和类模板2

函数模板和类模板2

时间:2023-05-07 20:00:59浏览次数:32  
标签:real distance 函数 double imag Complex 模板

一.问题描述:

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

template < class T >

double dist(T a, T b)

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

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

二.代码插入:

#include<iostream>
#include<math.h>
using namespace std;
template < class T >
double dist(T a, T b) {
    double distance = a - b;
    return fabs(distance);
    
}
class Complex {
private:
    double real;
    double imag;

public:
    Complex(double r = 0, double i = 0) {
        real = r;
        imag = i;
    }
    
double  operator-(Complex p) {
    double distance = 0;
    double t = (real - p.real) * (real - p.real) + (imag - p.imag) * (imag - p.imag);
    distance = sqrt(t);
    return distance;
        
    }
};
int main() {
    int ch = 0;
    while (cin >> ch) {
        if (ch == 0)
            break;
        else if (ch == 1) {
            int a, b,distance;
            cin >> a >>b;
            distance=dist(a, b);
            cout <<distance <<endl;

        }
        else if (ch == 2) {
            float a, b;
            double distance;
            cin >> a >> b;
            distance = dist(a, b);
            cout << distance << endl;
        }
        else if (ch == 3) {
            double a, b, c, d,distance;
            cin >> a >> b >> c >> d;
            Complex p1(a, b), p2(c, d);
            distance = dist(p1, p2);
            cout << distance << endl;
        }
    }
    return 0;
}

 

标签:real,distance,函数,double,imag,Complex,模板
From: https://www.cnblogs.com/lzh0416/p/17379984.html

相关文章

  • 函数的参数
    形参与实参介绍函数的参数分为形式参数和实际参数,简称形参和实参:形参即在定义函数时,括号内声明的参数。形参本质就是一个变量名,用来接收外部传来的值。实参即在调用函数时,括号内传入的值,值可以是常量、变量、表达式或三者的组合:#1:实参是常量res=my_min(1,2)#2:实参是变量......
  • 常用工具函数
    日常开发中,面对各种不同的需求,我们经常会用到以前开发过的一些工具函数,把这些工具函数收集起来,将大大提高我们的开发效率。1、校验数据类型exportconsttypeOf=function(obj){returnObject.prototype.toString.call(obj).slice(8,-1).toLowerCase()}示例:typeOf('......
  • Pandas内置函数方法
    1.导入数据:pd.read_csv(filename):从CSV文件导入数据pd.read_table(filename):从限定分隔符的文本文件导入数据pd.read_excel(filename):从Excel文件导入数据pd.read_sql(query,connection_object):从SQL表/库导入数据pd.read_json(json_string):从JSON格式的字符......
  • K-D Tree模板/P4169 [Violet]天使玩偶/SJY摆棋子
    \(\color{purple}\text{P4169[Violet]天使玩偶/SJY摆棋子}\)以本题为例题讲解模板怎么写。思路\(\text{K-DTree}\)是一种类二叉查找树,不过元素是多维的,所以每次对于子树的划分也是依据不同维度的。本题使用二维的\(\text{K-DTree}\),这样每次将图分成左右子树其实就是将......
  • AF_DataRequest函数 解读
    目录作用原型参数解析afAddrType_t*dstAddrendPointDesc_t*srcEPSimpleDescriptionFormat_tafNetworkLatencyReq_tcIDlen*buf*transIDoptionsradius返回值函数定义作用Z-Stack中发送数据通过在应用层调用函数voidSampleApp_SendFlashMessage(uint16flashTime)完成,其中fla......
  • C++虚函数详解:多态性实现原理及其在面向对象编程中的应用
    在面向对象的编程中,多态性是一个非常重要的概念。多态性意味着在不同的上下文中使用同一对象时,可以产生不同的行为。C++是一种面向对象的编程语言,在C++中,虚函数是实现多态性的关键什么是虚函数虚函数是一个在基类中声明的函数,它可以被子类重写并提供不同的实现。在C++中,使用关......
  • pycharm内置函数怎么就一个pass
    仔细观察该文件的目录就会发现这个文件是PyCharm自己生成的,并没有定位到Python安装目录下Lib文件夹中的某个文件python的内置函数都是内嵌在解释器里面的,是使用C编写的,正常情况下你是无法查看的,只不过pycharm这种智能编辑器对其进行了一个抽象罢了所以python内置函数只有一个pass,......
  • idea 模板变量
    参考官方文档PredefinedtemplatevariablesThefollowingpredefinedvariablescanbeusedinfiletemplates:VariableDescription$DATE}Currentsystemdate$DAY}Currentdayofthemonth$DIR_PATH}Pathtothedirectoryofthenewfile(relativet......
  • Halcon模板匹配之形状匹配,缩放比匹配,相关性匹配
     是什么是模板匹配?模板就是一副已知的小图像,而模板匹配就是在一副大图像中搜寻目标,已知该图中有要找的目标,且该目标同模板有相同的尺寸、方向和图像元素,通过一定的算法可以在图中找到目标,确定其坐标位置 模板匹配的参数介绍:1.图像金字塔:Numberlever2.起始角度:AngleStart......
  • spring 第一个例子-mian函数-03
     packagecom.sz.model;importorg.springframework.context.ApplicationContext;importorg.springframework.context.support.ClassPathXmlApplicationContext;publicclasstestMain{publicstaticvoidmain(String[]args){//创建Spring上下文(加载bean.xml)......