Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lr1-7.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
537.12 Кб
Скачать

3.2 Постановка задачи

3.2.1 Основное задание

Разработать программу, позволяющую выполнить следующие функции:

- запрашивает у пользователя количество элементов массива;

- создает одномерный динамический массив;

- выводит на экран отсортированные значения массива.

Для вывода значений динамического массива на экран и сортировки создайте отдельные процедуры. Входными параметрами процедур являются указатель на начало динамического массива и количество элементов.

3.2.2 Дополнительное задание

Создать динамический однонаправленный динамический список, который содержит информацию о результатах ЕГЭ по физике. Программа сортирует список по убыванию и выводит на экран.

3.3 Контрольные вопросы

  1. Дайте определение указателя

  2. Что делает оператор new?

  3. Как прочитать значение переменной, адрес которой сохранен в указателе a?

  4. При помощи какого оператора можно получить адрес переменной?

4 Лабораторная работа № 4. Классы

Цель: получить навыки работы с классами

4.1 Теоретическая часть

Класс – это коллекция переменных, скомбинированная с набором связанных функций. Он описывается следующим образом:

class <имя класса>

{

private: <внутренние (недоступные) компоненты класса>;

protected: <защищенные компоненты класса>;

public: <общие (доступные) компоненты класса>;

};

Компоненты класса, объявленные в секции private, называются внутренними. Они доступны только компонентным функциям того же класса и функциям. Компоненты класса, объявленные в секции protected, называются защищенными. Они доступны компонентным функциям не только данного класса, но и его потомков.

Компоненты класса, объявленные в секции public, называются общими. Они доступны за пределами класса в любом месте программы.

Пример класса приведен ниже:

class smallobj

{

private:

int somedata;

public:

void setdata(int c);

void showdata();

};

В классе объявлена внутренняя переменная somedata, доступ к котрой осуществляется только через методы setdata и showdata. Далее приведена реализация данных методов и пример использования:

void smallobj::setdata(int c)

{

somedata=c;

}

void smallobj::showdata()

{

cout<<"somedata="<<somedata<<"\n";

}

int _tmain(int argc, _TCHAR* argv[])

{

smallobj s1,s2;

s1.setdata(1500);

s2.setdata(2000);

s1.showdata();

s2.showdata();

return 0;

}

В программе объявлены две переменные типа smallobj. Доступ к полям и методам класса осуществляется по аналогии обращения к полям структур.

Для инициализации полей при создании объекта используются специальные методы – конструкторы. Имя конструктора совпадает с именем класса и не возвращает параметров. Ниже приведен пример класса с конструктором:

const int l_Name=30;

class Sotrudnik

{

public:

Sotrudnik (int lName=l_Name){pName =new char[lName+1];};

~Sotrudnik(){delete [] pName;};

void SetName(char* Name);

char* GetName();

private:

char * pName;

};

В секции private объявлен указатель на имя сотрудника. При создании объекта сотрудника вызывается конструктор Sotrudnik (int lName=l_Name), который

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]