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

C++课后作业 23. 模板课堂练习

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

C++课后作业 23. 模板课堂练习

文章目录
    • 原题题目
    • 代码实现
    • 提交结果


原题题目


代码实现
#include 
#include 

using namespace std;

class Complex {
 public:
  Complex() : real_(0), imag_(0) {}
  Complex(const double& real, const double& imag)
      : real_(real), imag_(imag) {}

  void input() {
    cin >> real_ >> imag_;
  }

  operator double() { return sqrt(real_ * real_ + imag_ * imag_); }
  Complex operator- (const Complex& other) {
    return Complex(real_ - other.real_, imag_ - other.imag_);
  }

 private:
  double real_;
  double imag_;
};

template 
double dist(T a, T b) {
  return b - a;
}

int main() {
  int a1, b1;
  double a2, b2;
  Complex a3, b3;
  int type;
  cin >> type;

  if (type == 1) {
    cin >> a1 >> b1;
    cout << dist(a1, b1) << endl;
  }
  else if (type == 2) {
    cin >> a2 >> b2;
    cout << dist(a2, b2) << endl;
  }
  else {
    a3.input();
    b3.input();
    cout << dist(a3, b3) << endl;
  }
  return 0;
}

提交结果

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

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

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