Hỏi về kiến thức liên quan C++

Xin mọi người cho em hỏi p2 ở trong p1.distanceTo(p2) ,p._x và p._y là gì và giá trị bằng gì ạ?
với code là

#include <iostream>
#include <string>
#include <math.h>
using namespace std;
class Point{
	float _x,_y;
public:
	void setXY( float x, float y);
	float getX(){return _x;}
	float getY(){return _y;}
	float distanceTo(Point p);
};
void Point::setXY(float x, float y){
	_x=x;
	_y=y;
}
float Point::distanceTo(Point p){
	float d=(p._x-_x)*(p._x-_x)+(p._y-_y)*(p._y-_y);
	return sqrt(d);
}
int main(){
	Point p1,p2;
	p1.setXY(10,10);
	p2.setXY(20,20);
	cout<<"D="<<p1.distanceTo(p2)<<endl;
	system("PAUSE");
	return EXIT_SUCCESS;
}

kết quả in ra là D=14.1421

code em đang xem liên quan đến kiến thức về hướng đối tượng.
ở đây là class Point có tọa đô x và y.
function distanceTo là function tính khoảng cách từ point này tới point kia. Theo công thức
(p._x-_x)*(p._x-_x)+(p._y-_y)*(p._y-_y)

3 Likes

đoạn trên anh nói em hiểu rồi nhưng p._x là gi hả anh? :blush:

p._x : cách truy cập thuộc tính object p.
Hiểu đái khái là class Point có 2 thuộc tính _x và _y.
Khi khai báo

Thì mình có 2 object p1 và p2.
Còn đoạn code này

là thiết lập giá trị cho 2 thuộc tính _x và _y của 2 object p1 và p2.

Em nên tìm sách về lập trình hướng đối tượng để đọc, để có khái niệm.
Em không có khái niệm anh nói em cũng không hiểu nhiều đâu.
Sách thì em có thể tham khảo


3 Likes

thanks anh rất nhiều. :wink:

anh cho em hỏi trong bài này đoạn d=(p._x-_x)(p._x-_x)+(p._y-_y)(p._y-_y) có phải là:
d = (( giá trị x của p1)-(giá trị x của p2)) * (( giá trị x của p1)-(giá trị x của p2))+ (( giá trị y của p1)-(giá trị y của p2))* (( giá trị y của p1)-(giá trị y của p2))
Đúng không hả anh? :blush:

ngược lại nha em

d = (( giá trị x của p2)-(giá trị x của p1)) * (( giá trị x của p2)-(giá
trị x của p1))+ (( giá trị y của p2)-(giá trị y của p1))* (( giá trị y
của p2)-(giá trị y của p1))

2 Likes

Cảm ơn anh rất nhiều đã nhiệt tình chỉ bảo <3

1 Like

cảm ơn anh ạ! Em bị khó hiểu giờ em đã hiểu rồi!

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?