61 Востаннє редагувалося ur_naz (29.05.2020 01:35:12)

Re: Структури

дурню написали ви. сферичний кінь у вакуумі. Невже так складно второпати, що не буває точки поза системою координат? а те що ваш х та у  це координати, так це ваша фантазія. компіляторові байдуже, як ви там що назвали. ви створили два ідентичних класи там, де можна обійтись 5 змінними. ви не розкрили жодного принципу ООП. Що таке графоманія вам відомо?
Тут взагалі розділ с/с++, а не с з класами
як що відділити мух від котлет
то у весь код буде кілька рядків

Point p = new Point();
/*...*/
p->set_X(1);
p->set_Y(2);
float a = p->get_Angle();
float d = p->get_Distance();
std::cout << a << d << std::endl;
delete p;

/* або */

Point p1 = new Point (10, 20, csCarthesian);
Point p2 = new Point (10, 20, csPolar);

float d = p1->get_DistanceTo(p2);
std::cout << d << p1->to_string() << std::endl;

/*...*/

return 0;

навколо цього вже можна будувати будь що. а ви лише на пусті образи здатні.

62

Re: Структури

ur_naz написав:

компіляторові байдуже, як ви там що назвали. ви створили два ідентичних класи

Мій компілятор з вами не згідний (на етапі компіляції).

ur_naz написав:

ви не розкрили жодного принципу ООП.

Якщо це про код Limon'а, то так. Але ваше "ООП" теж викликає бажання пошукати іншого кандидата на посаду програміста.

ur_naz написав:

то у весь код буде кілька рядків
...
навколо цього вже можна будувати будь що.

На основі цього можна тільки зробити висновок, що на C++ ви програмуєте не достатньо добре, щоб розказувати іншим, як вони мають програмувати на C++.

Подякували: koala1

63

Re: Структури

ще один. ви як солодка парочка. таких на кібері багато. 
твоє ООП гірше за моє ООП... дитячий садочок. і це каже людина, що намагається порівняти 2 флоати оператором ==
Вам не соромно?

64

Re: Структури

ur_naz написав:

солодка парочка

https://i.ibb.co/WVf0Rwv/7b338074cfe76a120c94d76a6920186a.jpg

ur_naz написав:

Вам не соромно?

Ні, в мене ні стида, ні совісті.

Подякували: koala1

65

Re: Структури

Який сенс зберігати зайву інформацію в рантаймі (яка все одно вирівняється як не під 16 байтів, то під 4), якщо її ж можна зберігати на рівні інформації про типи під час компіляції?

Подякували: leofun011

66

Re: Структури

Якщо ж дійсно є вимога визначати типи в рантаймі,  то ООПшний код буде приблизно таким:

class IPoint
{
public:
  virtual double get_x() = 0;
  virtual double get_y() = 0;
  virtual double get_angle() = 0;
  virtual double get_radius() = 0;
  virtual double set_xy(double x, double y) = 0;
  virtual double set_polar(double angle, double radius) = 0;
};
class Polar: public IPoint
{...};
class Carthesian: public IPoint
{...};
...
IPoint *p1 = Polar::make_point(M_PI,3.);
IPoint *p2 = Carthesian::make_point(5.,6.);
cout<<p1->get_x();//і т.д.

І ніяких enum-ів, це ж ООП.

67

Re: Структури

Ви вже 3 класи вигадали.. що далі буде? це 3 віртульних таблиці, наекономили... навмисно робите поганий код? що буде, як знадобиться перемістити точку по осі х? Усі роблять по 2 методи для однієї властивості (ой, в плюсах нема властивостей й інтерфейсів нема), а ви зробили один метод для двох полів.  це такий тролінг? не буду питати чому в інтерфейсі не задекларований метод make_point бо це складні речі.
я вам показав (натякнув) як зробити простіше і з меншою кількістю літер.

68

Re: Структури

Вибачте, а ви в коді хочете саме символи економити, а не час роботи та пам'ять? Тоді ви не ту мову обрали, вам Python треба.

Подякували: leofun011

69

Re: Структури

Дякую *THUMBSUP*