Лабораторная работа №1 по дисциплине «Объектно-ориентированное программирование» Студент гр з-431П8-4 А. С. Горбенко


new TYPE выделяет область памяти для переменной типа TYPE и возвращает его адрес; new TYPE (значение)


Download 280.72 Kb.
bet3/5
Sana20.10.2023
Hajmi280.72 Kb.
#1712476
TuriЛабораторная работа
1   2   3   4   5
Bog'liq
Лаб1

new TYPE выделяет область памяти для переменной типа TYPE и возвращает его адрес;

  • new TYPE (значение) действует как предшествующая операция и инициализирует область памяти начальным значением;

  • new TYPE [n] выделяет область памяти для массива из n элементов и возвращает его адрес;

  • delete p освобождает область памяти, на которую ссылается указатель p.

  • delete []p освобождает область памяти, занятую массивом, на который ссылается указатель p [2].

    Вывод в стандартный поток производится с помощью операции std::cout<<данные, указав в начале программы #include . Аналогичным образом в С++ можно осуществлять ввод: std::cin>>данные [3, с. 967].

    1. ОПИСАНИЕ ХОДА ВЫПОЛНЕНИЯ РАБОТЫ


    1. В среде программирования Code::Blocks 20.03 создали консольный проект с именем LAB1 в каталоге LAB1.


    2. В проекте автоматически создается файл main.cpp (файл исходного кода), очистили тело функции main от программы Hello world. Перешли в File->New->File. Выбрали добавление файла C/C++ header, дали ему название main.h (заголовочный файл). В него автоматически добавляются директивы для подключения:
    #ifndef MAIN_H_INCLUDED
    #define MAIN_H_INCLUDED
    #endif // MAIN_H_INCLUDED
    3. В файле main.h определили с помощью ключевого слова class объект Kvit:
    class Kvit {
    private:
    int num;
    int date;
    float sum;
    По умолчанию данные имеют закрытый уровень доступа (private). Указали уровень доступа явно, для этого перед полями данных добавили строку c private.

    1. Описали конструктор объекта, аргументы которого будут

    инициализировать все данные объекта:
    Kvit(int, int, float) ;
    5. Описали конструктор объекта по умолчанию (без аргументов), проинициализировав все данные.
    Kvit(){
    num = 0;
    date = 1012020;
    sum = 0;
    };
    Также описали деструктор:
    ~Kvit();
    6. Описали в объекте функцию void Print() const с открытым уровнем доступа (public), которая будет выводить данные на экран. В определении функции добавили модификатор const, который указывает, что данная функция никак не изменяет поля данных объекта:
    void Print() const;
    7. Открыли файл main.cpp. С помощью директивы #include включили в файл main.cpp заголовочные файлы , , , , , а также заголовочный файл "main.h".
    8. Ниже определили конструктор объекта, инициализирующий все данные объекта значениями аргументов:
    Kvit::Kvit(int num, int date, float sum) {
    Kvit::num = num;
    Kvit::date = date;
    Kvit::sum = sum;
    }
    9. Также определили деструктор объекта. Для отражения работы деструктора, в его тело включили команду для вывода надписи об удалении объекта (ключевое слово this позволяет получить доступ к полям объекта):
    Kvit::~Kvit()
    {
    std::cout << "Вызов деструктора: квитанция №";
    std::cout << this->num << " удалена" << std::endl;
    };
    10. Затем определили функцию void Kvit::Print() const. В теле функции для вывода данных использовали стандартный поток вывода:
    void Kvit::Print() const{
    std::cout << "Номер: " << num << std::endl;
    std::cout << "Дата: " << date << std::endl;
    std::cout << "Сумма: " << sum << "\n" << std::endl;
    };
    11. Ниже начали заполнять тело главной функции int main(). Добавили
    строки для ввода/вывода кириллицы:

    Download 280.72 Kb.

    Do'stlaringiz bilan baham:
  • 1   2   3   4   5




    Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
    ma'muriyatiga murojaat qiling