21xrx.com
2024-12-22 17:00:51 Sunday
登录
文章检索 我的文章 写文章
C++构造函数:求两点间的距离并输出坐标
2023-07-05 18:35:40 深夜i     --     --
C++ 构造函数 距离 坐标 输出

C++是一种面向对象的编程语言,构造函数是其面向对象特征之一。在C++中,构造函数是用来初始化对象的特殊函数。它会在对象被创建时自动调用,从而为对象的数据成员赋初始值。本文将介绍如何使用C++构造函数来求两点间的距离并输出坐标。

在C++中,我们可以通过定义一个Point类来表示一个点。Point类定义如下:


class Point{

public:

  Point(double x, double y); // 构造函数

  double getX() const;

  double getY() const;

private:

  double x, y;

};

在Point类中,我们定义了两个私有的数据成员x和y,表示点的坐标。我们还定义了一个构造函数,用来初始化Point对象的x和y值。getX和getY函数用来获取点的x和y坐标值。

接下来,我们通过定义一个Distance类来计算两点间的距离。Distance类定义如下:


#include <iostream>

#include <cmath>

using namespace std;

class Distance{

public:

  Distance(Point p1, Point p2);

  void print() const;

private:

  double distance;

  Point point1, point2;

};

Distance::Distance(Point p1, Point p2):point1(p1),point2(p2){

  double x1 = point1.getX(), y1 = point1.getY();

  double x2 = point2.getX(), y2 = point2.getY();

  distance = sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2));

}

void Distance::print() const{

  cout << "Distance between (" << point1.getX() << ", " << point1.getY() << ") and ("

     << point2.getX() << ", " << point2.getY() << ") is " << distance << endl;

}

int main(){

  Point p1(1,1), p2(4,5);

  Distance d(p1, p2);

  d.print(); // 输出结果:Distance between (1, 1) and (4, 5) is 5

  return 0;

}

在Distance类中,我们定义了一个构造函数来计算两点间的距离。构造函数的参数为两个Point对象。在构造函数中,我们计算了两点间的距离,并将结果保存到distance数据成员中。print函数用来输出距离信息以及两个点的坐标。

在main函数中,我们创建了两个Point对象p1(1,1)和p2(4,5),并将它们作为参数传递给Distance对象d的构造函数。最后,我们调用print函数输出距离信息以及两个点的坐标。

使用C++中的构造函数可以简化我们的程序,并使程序更加面向对象。通过定义Point和Distance类,我们可以使用面向对象的方式来操作点和距离,提高程序的可读性和可维护性。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复