Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсова-КСМз-сз.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

Приклад розв’язання задачі

Створити клас з полями та методами згідно Вашого варіанта. Оголосити кілька об’єктів цього класу, використовуючи конструктори з параметрами, без параметрів та конструктор копіювання. Продемонструвати роботу всіх методів класу.

1.СТУДЕНТ

поля:

ім'я – char*

вік – int

рейтинг – int

методи:

введення імені

введення віку

введення рейтингу

виведення інформації про об’єкт

Лістинг програми

/**************************************************/

/* Лабораторна робота № 21 */

/* Іванов І.І. Варіант №30. */

/**************************************************/

#include<iostream.h>

#include<conio.h>

#include<string.h>

// ------------опис класу--------------------------------

class TStudent

{

privat:

char name[25]; // ім’я

int age; // вік

float grade; // рейтинг

public:

TStudent(); // конструктор без параметрів

TStudent(char*,int,float); // конструктор з параметрами

TStudent(const TStudent&); // конструктор копіювання

void SetName(char*); //метод для введення імені студента

void SetAge(int); //метод для введення віку студента

void SetGrade(float); /*метод для введення рейтингу студента*/

void Show();//метод для виведення інформації про студента

};

//-------- опис конструктора без параметрів---------------

TStudent::TStudent()

{

strcpy(name,"Ne_vidomo");

age=0;

grade=0.0;

}

//--------опис конструктора з параметрами----------------

TStudent::TStudent(char* a,int b,float c)

{

strcpy(name,a);

age=b;

grade=c;

}

//--------опис конструктора копіювання--------------------

TStudent::TStudent(const TStudent& X)

{

strcpy(name,X.name);

age=X.age;

grade=X.grade;

}

//-------- опис функції введення імені студента-----------

void TStudent::SetName(char* a)

{

strcpy(name,a);

}

//------- опис функції введення віку студента-------------

void TStudent::SetAge(int a)

{

age=a;

}

//------- опис функції введення рейтингу студента--------

void TStudent::SetGrade(float a)

{

grade=a;

}

//---- опис функції виведення інформації про студента-----

void TStudent::Show()

{

cout<<"\nInformacia pro studenta:";

cout<<"\nname: "<<name;

cout<<"\nage: "<<age;

cout<<"\ngrade: "<<grade<<endl;

}

//--------- головна функція програми----------------------

void main()

{

TStudent N1; //виклик конструктора без параметрів

TStudent N2("Ivanow",21, 145.2); /*виклик конструктора з параметрами*/

cout<<"#1: ";

N1.Show(); /*виклик функції виведення інформації про об’єкт*/

cout<<"#2: ";

N2.Show();

N1.SetName("Petrov"); /*виклик функції введення імені студента*/

cout<<"#1: ";

N1.Show();

N1.SetAge(23); //виклик функції введення віку студента

N1.SetGrade(150.0); /*виклик функції введення рейтингу студента*/

cout<<"#1: ";

N1.Show();

TStudent N3;

cout<<"#3: ";

N3.Show();

N3=N1; //виклик конструктора копіювання

cout<<"#3: ";

N3.Show();

getch();

}

Результати роботи програми

#1:

Informacia pro studenta:

name: Ne_vidomo

age: 0

grade: 0

#2:

Informacia pro studenta:

name: Ivanow

age: 21

grade: 145.2

#1:

Informacia pro studenta:

name: Petrov

age: 0

grade: 0

#1:

Informacia pro studenta:

name: Petrov

age: 23

grade: 150

#3:

Informacia pro studenta:

name: Ne_vidomo

age: 0

grade: 0

#3:

Informacia pro studenta:

name: Petrov

age: 23

grade: 150

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