Объектно-ориентированное программирование

Классы и объекты

Последнее обновление: 11.03.2023
Упражнение 1

Создайте класс Integer с одной приватной переменной типа int. Определите конструктор класса, который выводит сообщение при создании объекта. Определите функции для получения и установки переменной и вывода ее значения. В функции main создайте объект класса Integer и вызовите у него функции класса, получая, устанавливая и выводя значение переменной каждого объекта.

Решение
#include <iostream>

class Integer
{
public:
    Integer(int number)
    {
        value=number;
        std::cout << "Object created" << std::endl;
    }
    int getValue()  { return value; }
    void setValue(int number) { value = number; }
    void print()
    {
        std::cout << "Value: " << value << std::endl;
    }
private:
    int value;
};

int main()
{
    Integer n {10};                 // Object created
    n.print();                      // Value: 10
    n.setValue(15);                 // изменяем значение
    n.print();                      // Value: 15
    n.setValue(n.getValue() * 2);   // изменяем значение
    n.print();                      // Value: 30
}

Консольный вывод:

Object created.
Value: 10
Value: 15
Value: 30
Упражнение 2

Возьмите класс Integer из предыдущего задания

#include <iostream>

class Integer
{
public:
    Integer(int number)
    {
        value=number;
        std::cout << "Object created." << std::endl;
    }
    int getValue()  { return value; }
    void setValue(int number) { value = number; }
    void print()
    {
        std::cout << "Value: " << value << std::endl;
    }
private:
    int value;
};

И разделите объявление функций класса от их определения.

Решение
#include <iostream>

class Integer
{
public:
    Integer(int number);
    int getValue();
    void setValue(int number);
    void print();
private:
    int value;
};
Integer::Integer(int number)
{
    value=number;
    std::cout << "Object created" << std::endl;
}
int Integer::getValue(){ return value; }
void Integer::setValue(int number) { value = number; }
void Integer::print()
{
    std::cout << "Value: " << value << std::endl;
}

int main()
{
    Integer n {10};                 // Object created.
    n.print();                      // Value: 10
    n.setValue(15);                 // изменяем значение
    n.print();                      // Value: 15
    n.setValue(n.getValue() * 2);   // изменяем значение
    n.print();                      // Value: 30
}

Консольный вывод:

Object created.
Value: 10
Value: 15
Value: 30
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850