Викане на метод c++.


0

class Retangle {
private:
double x, y;
double  AC, CB;

public:
Retangle();
Retangle(double x,double y);
void set();
void Out();
void FaceRed();
double FaceRet(Retangle a, Retangle b, Retangle c , Retangle d)
{
c.x = b.x;
c.y = a.y;
d.x = a.x;
d.y = b.y;
double s;
AC = sqrt((a.x - d.x)*(a.x - d.x) + (a.y - d.y)*(a.y - d.y));
CB = sqrt((c.x - b.x)*(c.x - b.x) + (c.y - b.y)*(c.y - b.y));
s = AC*CB;
return s;
}

};

int main()
{
Retangle n;
n.set();
n.FaceRet();

return 0;
}

Въпроса ми е как да извикам аргументите в n.FaceRet() искам да ги вавеждам от калвиатурата,целта ми е да изведа лицето на правоъгалник от две точки на диагонала.




Отговори



0

Здравей,

Ще започна с дребни забележки:

1. Rectangle

2. Излишно усложняваш проблема

Сега, предполагам не искаш да извикаш аргументите, ами да ги подадеш. За целта би искал да ползваш Retangle(double x,double y); конструктора, който всъщност не си имплементирал.


от cuki (7523 точки)


0

_>>>>>>>>>>>>>>>>>>>>>>


от tanev (15 точки)

1

Би свършило работа, да. Аз по-скоро бих подходил така:

class Rectangle { private: double x, y; public: Rectangle(double x, double y) : x(x), y(y) {} }; // ... int main() { double x, y; std::cin >> x >> y; Rectangle r(x, y); // ... }

В конкретния случай бих използвал просто:

struct Point { double x; double y; };

И всички друго да са функции, които работят със структурата Point.


от cuki (7523 точки)