Правильно ли я использую ООП?

Всем привет! Изучаю C++, нашел такое условие задачи. Решил для него написать код. Как проверить если я правильно использую принципы ООП? Правилен ли мой код?

Условие: Создайте иерархию классов Сторона – Квадрат – Аквариум. Класс Квадрат должен содержать метод для вычисления площади квадрата. Класс Аквариум должен содержать метод для вычисления количества рыбок могущих жить в аквариуме (на одну рыбку надо 20 см3 ). Последние два класса в иерархии должны иметь конструкторы. Создайте метод MAIN, в котором создается 2 Аквариума (т.е. 2 объекта класса Аквариум), определяется в каком из аквариумов может жить больше рыбок. Необходимо также показывать все характеристики создаваемых объектов.

#include <iostream>
#include <string>
#include <math.h>

using namespace std;


class Side{
    public:
        int size;
    
        void show_size(){
            cout << "Размер стороны: " << size << "см." << endl;
        }
        
        void set_size(int size){
            this->size = size;
        }
};

class Square : public Side{
    
    public:
        Square(){}

        int perform_area(){
            return pow(this->size,2);
        }
        
        void show_area(int area){
            cout << "Площадь квадрата равна: " << area << endl;
        }
};

class Aquarium : public Square{
    
    public:
        Aquarium(int size){
            this->size = size;
        }
        
        int count;
        
        int count_fish(int area_square){
            this->count = 6*area_square/20;
            return this->count;
        }
};



int main(){
    int area_square;
    Aquarium a1(5);
    area_square = a1.perform_area();
    a1.show_area(area_square);
    cout << "Кол-во рыбок могущих жить в аквариуме: " << a1.count_fish(area_square) << endl;
    
    Aquarium a2(8);
    area_square = a2.perform_area();
    a2.show_area(area_square);
    cout << "Кол-во рыбок могущих жить в аквариуме: " << a2.count_fish(area_square) << endl;
    
    if (a1.count > a2.count) {
        cout << "В первом аквариуме поместиться больше рыб" << endl;
    }else{
        cout << "Во втором аквариуме поместиться больше рыб" << endl;
    }
    
    
    return 0;
}

Ответы (0 шт):