Помогите пожалуйста с реализацией класс Rectangle. Нужно создать два приватных поля(значения целочисленные для сторон прямоугольника), методы для установки значений сторон и метод int square(), вычисляющий площадь прямоугольника. В функции main объявите несколько объектов этого класса.
Проблема в том, я не понимаю, как с помощью методов установить значения сторон(повторюсь, значения сторон - это приватные поля класса), ну а дальше, используя эти значения, найти площадь фигуры.
#include <iostream>
class Rectangle
{
int length;
int height;
public:
/* Конструктор по умолчанию, инициализирует
* поля length и height значениями 0
*/
Rectangle()
:length(0), height(0)
{}
/* Конструктор с параметрами, инициализирует
* поля length и height значениями
* _length и _height, переданными в качестве
* параметров, соответственно
*/
Rectangle(int _length, int _height)
:length(_length), height(_height)
{}
/* Функция установки значения поля length
* значением _length, переданным
* в качестве параметра
*/
void setLength(int _length) { length = _length; }
/* Функция установки значения поля height
* значением _height, переданным
* в качестве параметра
*/
void setHeight(int _height) { height = _height; }
/* Функции получения значений полей,
* возвращающие значение length или height
* соответственно
*/
int getLength() { return length; }
int getHeigth() { return height; }
/* Функция, рассчитывающая площадь фигуры.
* Возвращает значение, полученное умножением
* значений полей length и height друг на друга
*/
int sqare() { return length * height; }
};
int main(int argc, char *argv[])
{
Rectangle r(); // Вызывается конструктор по умолчанию.
std::cout << r.getLength(); << " " << r.getHeigth() << std::endl; // "0 0"
r.setLength(2); // Устанавлием длину, равную 2
r.setHeight(3); // Устанавливаем высоту, равную
std::cout << r.getLength(); << " " << r.getHeigth() << std::endl; // "2 3"
std::cout << r.sqare() << std::endl; // Возвращает площадь: "6"
Rectangle r1(5, 4); // Вызывается конструктор с параметрами
std::cout << r1.getLength(); << " " << r1.getHeigth() << std::endl; // "5 4"
std::cout << r1.sqare() << std::endl; // Возвращает площадь: "20"
}
В описании любого конструктора, например
Rectangle()
:length(0), height(0)
{}
строка :length(0), height(0) является списком инициализации.
Такая запись эквивалентна следующей
Rectangle()
{
length = 0;
height = 0;
}
P.S. Могут быть небольшие помарки, т.к. код не компилировал
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости