Problemi e soluzioni: Classi C ++

Прошло немного времени после публикации вводного урока о классах в C++. Теперь мы предлагаем вам попрактиковаться в решении достаточно простых задач с применением классов. Старайтесь решать самостоятельно.

1. Создать класс Tiles (кафель), который будет содержать поля с открытым доступом: brand, size_h, size_w, price и метод класса getData(). В главной функции объявить пару объектов класса и внести данные в поля. Затем отобразить их, metodo chiamando getData().




2. Определить класс Children, который содержит такие поля (i membri della classe): закрытыеимя ребенка, фамилию и возраст , публичныеметоды ввода данных и отображения их на экран. Объявить два объекта класса, внести данные и показать их.




3. Преобразовать строки двумерного массива в столбцы. Например было:

Sfide e soluzioni, classi C ++, classi C ++ per principianti, specificatori di accesso Privat e pubblico, metodi di classe

стало:

Sfide e soluzioni, classi C ++, classi C ++ per principianti, specificatori di accesso Privat e pubblico, metodi di classe

Класс будет содержать два метода: один заполнит массив значениями, второй произведет замену значений строк на значения столбцов.

Per sostenere il nostro sito – cliccare sul salvadanaio e scegliere qualsiasi modo conveniente.

Newsletter nuove lezioni sulla programmazione:

Problemi e soluzioni: Classi C ++
3.4 (67.5%) 8 voti

14 pensieri su "Problemi e soluzioni: Classi C ++

  1. я по начому зробив 2 compito
    #includere
    #includere”windows.h”
    #includere

    using namespace std;
    class Children{
    privato:
    string name;
    string fleam;
    float vik;
    pubblico:
    Children(): vik(0)
    { }
    Children(string r1,string w2,float w3): Nome(r1),fleam(w2),vik(w3)
    { }
    void foma();
    void dota();

    };
    void Children::foma(){
    cout<<"Добрий день "<<endl<<"Ведіть імя фімілію і рік"<>vik;
    // cout<<"Імя "<<Nome<<endl<<"Фамілія "<<fleam<<endl<<"Рік"<<vik<<endl;
    }
    void Children::dota(){
    cout<<"Імя "<<Nome<<endl<<"Фамілія "<<fleam<<endl<<"Рік "<<vik<<endl;
    }
    int main(){
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout<<"Привіт !1!";
    Children ee1;
    ee1.foma();
    ee1.dota();

    ritorno 0;
    }

      1. Ho una domanda, уважаемые знатоки!

        В примере решения третьей задачи мы создали временную матрицу tempMatrix новой конфигурации, скопировали в неё поочередно все элементы, после чего освободили память, занимаемую матрицей matrixInClass, выделили новую память для matrixInClass, поочередно скопировали все элементы и освободили память, занимаемую временной матрицей.

        Я пошёл немного другим путем, более коротким. Все работает без ошибок, но хочется знать, может я что-то упускаю(зря сократил). Свой код залил на codepad –> http://codepad.org/vAuUf5pO

        Делал так:

        Создал временную матрицу tempMatrix новой конфигурации, скопировал в неё элементы из матрицы matrixInClass, освободил память, занимаемую matrixInClass.
        До этого момента все точно так же.

        А теперь я просто указателю matrixInClass присвоил значение tempMatrix таким образом:

        matrixInClass = tempMatrix;
        tempMatrix = 0;

        После чего matrixInClass начал указывать на участок памяти, занимаемый tempMatrix. То есть теперь нам не нужно перевыделять память для matrixInClass, come nell'esempio, потом поэлементно копировать матрицу и освобождать память.

        Вопрос у меня следующий: может неспроста вы сделали так, как сделали, а я где-то допускаю утечки памяти??? Заранее спасибо за ответ!

  2. Помогите решить задачу!
    Задача на взаимодействие между классами. Разработать систему «Автобаза». Диспетчер распределяет заявки на Рейсы между Водителями и назначает для этого Автомобиль. Водитель может сделать заявку на ремонт. Диспетчер может отстранить Водителя от работы. Водитель делает отметку о выполнении Рейса и состоянии Автомобиля.

  3. У меня во второй задаче при вводе данных для второго ребенка пропускает ввод имени, сразу к фамилии. perché? Код абсолютно такой же, но вместо “carbonizzare” – “corda”.

      1. in linea 39 Cidargaet();
        это написал?
        Это делается для того, чтобы очистить буфер ввода вывода с клавиатуры. Иногда в этом буфере могут сохраниться какие то данные.

    1. in linea 39

      это написал?
      Это делается для того, чтобы очистить буфер ввода вывода с клавиатуры. Иногда в этом буфере могут сохраниться какие то данные.

  4. В третьей задаче в строке 25 массив неправильно заполняется

    я в своей задаче заполнил массив примерно так

    1. on line 25 – это конструктор матрицы, которая заполняется по любым своим правилам.
      la 11, 22, 33 … в условии показано как “per esempio”.
      compito – на транспонирование матрицы. forse, она написана не лучшим образом, но всё показанноеcorrettamente.

  5. помогите решить задачу:
    Описать класс «ЕГЭ».
    Каждая запись содержит номер бланка, фамилия и инициалы ученика, год сдачи, наименование предметов и оценки.
    Предусмотреть возможность формирования: списка с клавиатуры и из файла, печати всего списка; списка документов, где средний бал по ЕГЭ ниже (superiore) среднего; списка документов, максимальными баллами по заданной дисциплине

  6. Задача номер 2
    #includere
    #includere

    using namespace std;

    class MyClass
    {
    char name[32];
    char sourcename[32];
    int età;
    pubblico:
    void Set_MyClass()
    {
    cout <> Questo->Nome;
    cout <> Questo->sourcename;
    cout <> Questo->età;
    }
    void Get_MyClass()
    {
    cout << "Name " << Nome << endl;
    cout << "Source " << sourcename << endl;
    cout << "Age " << età << endl;
    }
    };

    int main()
    {
    setlocale(LC_ALL, "Ukrainian");
    sistema("color A");

    MyClass first;
    MyClass second;

    cout << "Enter your date" << endl;
    first.Set_MyClass();
    second.Set_MyClass();
    cout << "\tYour date" << endl;
    first.Get_MyClass();
    second.Get_MyClass();

    _getch();
    ritorno 0;
    }

  7. Там метод має бути такий. Чомусь коли закинув якась фігня відобразилась
    void Set_MyClass()
    {
    cout <> Questo->Nome;
    cout <> Questo->sourcename;
    cout <> Questo->età;
    }

Lascia un Commento

L'indirizzo email non verrà pubblicato. i campi richiesti sono contrassegnati *