21xrx.com
2024-12-22 23:59:48 Sunday
登录
文章检索 我的文章 写文章
C++实现一个点类的定义
2023-06-24 06:59:59 深夜i     --     --
C++ 点类 定义

在C++中,一个类是由数据成员和成员函数组成的一种用户自定义的数据类型。在编写程序时,我们可以使用类来描述复杂的对象或数据结构。本文将介绍如何使用C++来实现一个点类的定义。

首先,我们需要定义点类的数据成员。由于一个点在二维平面上的坐标可以用两个数字来表示,我们可以定义两个成员变量x和y来分别表示点的横坐标和纵坐标。


class Point

private:

  int x;

  int y;

;

接下来,我们需要为点类编写一些成员函数来完成各种操作。例如,创建一个新点,移动一个点,计算两个点之间的距离等等。下面是点类的一些基本成员函数。


class Point {

private:

  int x;

  int y;

public:

  Point();

  Point(int x, int y);

  void move(int dx, int dy);

  double distance(Point p);

};

Point::Point()

  x = 0;

  y = 0;

Point::Point(int x, int y)

  this->x = x;

  this->y = y;

void Point::move(int dx, int dy) {

  x += dx;

  y += dy;

}

double Point::distance(Point p) {

  return sqrt((x - p.x) * (x - p.x) + (y - p.y) * (y - p.y));

}

我们还可以为点类编写一些其他有用的成员函数,比如 toString() 函数,以将点对象转换为字符串表示。这个函数可以返回一个包含点坐标的字符串,用于输出或调试。


class Point {

private:

  int x;

  int y;

public:

  Point();

  Point(int x, int y);

  void move(int dx, int dy);

  double distance(Point p);

  std::string toString();

};

std::string Point::toString() {

  return "(" + std::to_string(x) + "," + std::to_string(y) + ")";

}

至此,我们已经完成了一个基本的点类的定义。我们可以使用这个类来创建点对象,存储它们的坐标,计算它们之间的距离,并将它们打印出来以方便调试。


int main() {

  Point p1(0, 0);

  Point p2(3, 4);

  double d = p1.distance(p2);

  std::cout << "Distance between " << p1.toString() << " and " << p2.toString() << " is " << d << std::endl;

  return 0;

}

输出结果为:


Distance between (0,0) and (3,4) is 5

通过以上例子,我们可以看到,使用C++定义点类是一件非常简单并且实用的事情。它使我们能够更轻松地描述二维平面上的对象,同时也可以扩展到三维空间和更高维度的情况。

  
  

评论区

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