Лабораторная работа выполнялась в среде Borland C++ Builder (build 10.157).
В среде программирования на С++ создаем консольный проект с именем LAB1 в каталоге LAB1.
В проекте создаем файлы main.h (заголовочный файл) и main.cpp (файл исходного кода).
В файле main.h определяем с помощью ключевого слова class объект Person.
class Person
{
private:
int NumbCh;// Номер человека (целый тип)
char Fio[20];// ФИО (символьный массив)
bool Pol;// Пол (логический тип: 0-муж., 1-жен.)
float Vozrast;// Возраст (вещественный тип)
}
Опишем конструктор объекта, аргументы которого будут инициализировать все данные объекта.
Person::Person(int NumbCh, char *Fio, bool Pol, float Vozrast)
{
Person::NumbCh=NumbCh;
strcpy(Person::Fio, Fio);
Person::Pol=Pol;
Person::Vozrast=Vozrast;
}
Опишем конструктор объекта по умолчанию (без аргументов), проинициализировав все данные.
Person(int, char *, bool, float)
Опишите в объекте функцию void Print() с открытым уровнем доступа (public), которая будет выводить данные на экран.
class Person
{
public:
Person(int, char *, bool, float);
void Print(void);
private:
int NumbCh;
char Fio[20];
bool Pol;
float Vozrast;
};
С помощью директивы #include включим в файл main.cpp заголовочные файлы <stdlib.h>, <string.h>, <iostream.h>, а также заголовочный файл "Main.h".
|
|
#include <stdlib.h>
#include <string.h>
#include <iostream.h>
#include "Main.h"
Ниже определим конструктор объекта, инициализирующий все данные объекта значениями аргументов. В теле конструктора используем функцию strcpy(стр1, стр2) для копирования строки имени человека (ФИО).
Person::Person(int NumbCh, char *Fio, bool Pol, float Vozrast)
{
Person::NumbCh=NumbCh;
strcpy(Person::Fio, Fio);
Person::Pol=Pol;
Person::Vozrast=Vozrast;
}
Затем определим функцию void Person::Print().
void Person::Print(void)
{
cout<<NumbCh<<" "<<Fio<<" "<<Pol<<" "<<Vozrast<<endl;
}
Напишем главную функцию программы int main(). Внутри ее создаем объект Person, указав все значения данных объекта. Выводим данные объекта на экран, вызвав функцию Print.
int main()
{
Person worker(1,"Stepantsov P.V.",0,26);
worker.Print();
};
C:\>Lab1.exe 1 Stepantsov P.V. 0 26 |
Результат выполнения программы
Затем создаем динамический объект Person с помощью обычного конструктора и оператора new.
Выведим данные объекта на экран и удаляем динамический объект из памяти с помощью оператора delete.
Person *per;
per = new Person(2,"Elisova O.V.",1,20);
per->Print();
delete per;
C:\>Lab1.exe 1 Stepantsov P.V. 0 26, 2 Elisova O.V. 1 20 |
Результат выполнения программы
Напишем функцию ввода данных в объект с клавиатуры void Person::Input().
void Person::Input(void)
{
cin>>NumbCh>>Fio>>Pol>>Vozrast;
}
Затем в теле функции main создаем объект Person с помощью конструктора по умолчанию и вводим данные в объект с клавиатуры, вызвав функцию Input. Для удобства закомментируем предыдущие способы инициализации объекта.
Person *per2
per->Input();
per2->Print();
C:\>Lab1.exe Semiletov 3 Semiletov 0 24 |
Результат выполнения программы