1. Определить пользовательский класс в соответствии с заданием. 2. Определить в классе следующие конструкторы: * без параметров, * с параметрами, * копирования. 3. Определить в классе деструктор. 4. Определить в классе компоненты-функции для просмотра и установки полей данных. 5. Определить указатель на компоненту-функцию. 6. Определить указатель на экземпляр класса. 7. Написать демонстрационную программу, в которой создаются и разрушаются объекты пользовательского класса и каждый вызов конструктора и деструктора сопровождается выдачей соответствующего сообщения (какой объект какой конструктор или деструктор вызвал). 8. Показать в программе использование указателя на объект и указателя на компоненту-функцию. Методические указания: 1. Пример определения класса. const int LNAME=25; class STUDENT { char name [LNAME]; // имя int age; // возраст float grade; // рейтинг public: STUDENT(); // конструктор без параметров STUDENT(char*,int,float); // конструктор с параметрами STUDENT(const STUDENT&); // конструктор копирования ~STUDENT(); char * GetName() ; int GetAge() const; float GetGrade() const; void SetName(char*); void SetAge(int); void SetGrade(float); void Set(char*,int,float); void Show(); }; Более профессионально поле name типа указатель: char* name. Однако в этом случае реализация компонентов-функций усложняется. 2. Пример реализации конструктора с выдачей сообщения. STUDENT::STUDENT(char*NAME,int AGE,float GRADE) { strcpy(name,NAME); age=AGE; grade=GRADE; cout<< \n"Constructor with parameters was called" < Set(“Иванов”,19,50); и т.д. 5. Пример использования указателя на компонентную функцию void (STUDENT::*pf)(); pf=&STUDENT::Show; (p[1].*pf)(); 14 6. Программа использует три файла: • заголовочный h-файл с определением класса, • cpp-файл с реализацией класса, • сpp-файл демонстрационной программы. Для предотвращения многократного включения файла-заголовка следует использовать директивы препроцессора #ifndef STUDENTH #define STUDENTH // модуль STUDENT.H ... #endif ЗАДАНИЕ: Question 1 Баллов: --/5 ИЗДЕЛИЕ имя – char* шифр – char* количество – int