Предмет: Информатика, автор: rafitov00

Помогите в написание программы на С++;если можно с объявлениями; БЛАГОДАРЮ

Приложения:

mribraew: Это у вас в школе? Офигеть, уже проходите классы и перегрузки операторов. Влом писать тут код, ибо довольно много. Поищи в инете, там есть инфа на эти темы.
mribraew: Вообще, наивно тут писать подобные вопросы, ибо это не школьная программа, вероятность того, что ответят, крайне мала.

Ответы

Автор ответа: mribraew
0

#include <iostream>

#include <sstream>

#include <string>

using namespace std;

class Rectangle

{

private:

int a = 0, b = 0;

string rectInSrt;

public:

Rectangle()  

{

 a = 0; b = 0;

}

int operator[] (int i)  

{  

 if (i == 0) return a;

 else if (i == 1) return b;

 else cout << "Boundary Error\n";

 exit(1);

}

Rectangle& operator++ ()

{

 a += 1;

 b += 1;

 return *this;

}

Rectangle operator++ (int)

{

 Rectangle prev = *this;

 ++*this;

 return prev;

}

Rectangle& operator-- ()

{

 a -= 1;

 b -= 1;

 return *this;

}

Rectangle operator-- (int)

{

 Rectangle prev = *this;

 --*this;

 return prev;

}

operator bool() const

{

 return (a == b);

}

Rectangle operator*= (int c)

{

 a *= c;

 b *= c;

 return *this;

}

operator string() const

{

 stringstream ss;

 ss << a << ' ' << b;

 string rectInSrt = ss.str();

 return rectInSrt;

}

string operator=(string s)

{

stringstream ss;

ss << s;

ss >> a >> b;

string rectInSrt = ss.str();

return rectInSrt;

}

};

int main()

{

Rectangle rect;

++rect;

rect *= 5;

cout << rect[0] << ' ' << rect[1] << ' ' << (rect == true) << endl;

string s;

s = rect;

cout << s << endl;

s = "2 3";

rect = s;

cout << rect[0] << ' ' << rect[1] << ' ' << (rect == true) << endl;

system("pause");

return 0;

}

Решил все же сделать, вспомнить, как это устроеноXD Не уверен, что все сделал как надо, но вроде работает. Ты хотя бы в коде разберись, перегрузка штука полезная.

Похожие вопросы
Предмет: Математика, автор: pimakyzin2007
Предмет: Математика, автор: rusyashatilo