30/09/2018, 18:07

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

vũ xuân quân viết 20:19 ngày 30/09/2018

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)

Bảo Ngọc viết 20:14 ngày 30/09/2018

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

vũ xuân quân viết 20:13 ngày 30/09/2018

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

Point p1,p2;

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

p1.setXY(10,10);
p2.setXY(20,20);

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

mình mới bắt đầu khám phá về lập trình và C ++ là ngôn ngữ đầu tiên. mình thấy nó khá thú vị nhưng vì là người mới nên có chổ không hiểu. vậy nên cần tìm mua vài cuốn sách nói về ngôn ngữ này. AE có sách nào hay xin giới thiệu cho mình với. cảm ơn.

Em đang học lập trình hướng đối tượng, nhưng lại ko có tài liệu nào, ai có thì cho em xin,

Bảo Ngọc viết 20:18 ngày 30/09/2018

thanks anh rất nhiều.

Bảo Ngọc viết 20:16 ngày 30/09/2018

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?

vũ xuân quân viết 20:13 ngày 30/09/2018

p1.distanceTo(p2)
d=(p.x-x)(p.x-x)+(p.y-y)(p.y-y)

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))

Bảo Ngọc viết 20:21 ngày 30/09/2018

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

Bài liên quan
0