1

Тема: Допоможіть написати метод ООП

Вивести на екран всі вистави і дати їх проходження, які відбудуться в
заданий день тижня.

#include <iostream>
#include <string>
#include <utility>
#include <Windows.h>
using namespace std;

class THEATRE
{
public:
    void GetTheatre()
    {
        for (int i = 0; i < lenght; i++)
        {
            cout << vistava[i].GetInfo() << endl;
        }
    }
   
    void GetTheatre(string days)
    {
        for (int i = 0; i < lenght; i++)
        {
                   //?????
        }
    }

private:
    static const int lenght = 2;
    class VISTAVA
    {
    private:
        string Nazva;
        struct DateStruct
        {
            int year{};
            int month{};
            int day{};
        };
        DateStruct dateStruct;
        int Cost;
        string Day_week;
    public:
        VISTAVA(string Nazva, DateStruct dateStruct, int Cost,string Day_week)
        {
            this->Nazva = Nazva;
            this->dateStruct = dateStruct;
            this->Cost = Cost;
            this->Day_week = Day_week;
        }
        string GetInfo()
        {
            return "VISTAVA: Nazva= " + Nazva + "dateStruct= " +  + "Cost= " + to_string(Cost) + "Day_week= " + Day_week;
        }
    };
    VISTAVA vistava[lenght]
    {
        VISTAVA("Вистава капітошка", {2020,9,01}, 200, "Четвер"),
        VISTAVA("Вистава капітошка", {2020,9,01}, 200, "Понеділок")
    };
};


int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);

    THEATRE theatre;
    theatre.GetTheatre();



    system("pause");

}

2

Re: Допоможіть написати метод ООП

  1. Назви класів бажано робити з першою великою літерою, повністю великі - константи.

  2. Вистава англійською "performance" чи "show", назва - "name".

  3. Функція, що зветься GetЩось, вочевидь, має повертати це "Щось", а не виводити.

  4. Нащо ви зробили виставу вкладеним класом? Звісно, так можна, але я б радив спершу розібратися взагалі у взаємодії класів, а вже потім щось вкладати. Зазвичай вкладеними роблять класи, щоб приховати їхню механіку від зовнішніх сутностей. Тут зовнішніх сутностей немає, а про вистави у театрі відомо.

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

Подякували: ostap34PHP, leofun012