Лекция: Пример создания и использования простого класса

В качестве примера создания и использования простого класса в листинге 1 представлена программа, в которой создан класс Student, формируется динамический массив объектов. При тестировании выводятся: сформированный список студентов заданного факультета, список студентов для заданного факультета и курса (рис. 1).

 

Листинг 1. Простой класс

 

// файл stud.h

 

#ifndef STUD_H_

#define STUD_H_

 

struct date // дата рождения

{ char daymon[6];

int year;

};

//======= class Student =================

class Student

{

private:

char name[30];

date t;

char adr[30], fac[20];

int kurs;

public:

Student();

char *getfac();

int getkurs();

void show();

};

#endif

 

// файл stud.cpp

 

#include «stud.h»

#include <iostream>

using namespace std;

 

Student::Student()

{ cout<<«Input name:»; cin>>name;

cout<<«Input date of born\n»;

cout<<" Day.mon:"; cin>>t.daymon;

cout<<" Year:"; cin >> t.year;

cout<<«Input adr:»; cin>>adr;

cout<<«Input fac:»; cin>>fac;

cout<<«Input kurs:»; cin >> kurs;

}

void Student::show()

{

cout << «Name :» <<name << endl;

cout << «Was born :» << t.daymon << '.' << t.year << endl;

cout << «Address :» << adr << endl;

cout << «Fac :» << fac <<endl;

cout << «Kurs :»<<kurs<<endl;

}

char *Student::getfac() { return fac; }

int Student::getkurs() { return kurs; }

 

// файл main.cpp

 

#include «stud.h»

#include <string.h>

#include <iostream>

using namespace std;

 

void spisfac(Student spis[],int n)//список студентов заданного факультетата

{ char fac[20];

cout<<«Input faculty:»; cin>>fac;

for(int i=0;i<n;i++)

if(strcmp(spis[i].getfac(),fac)==0)

spis[i].show();

}

void spisfackurs(Student spis[],int n)

//список студентов заданных факультета и курса

{ int i,k;

char fac[20];

cout<<«Input faculty:»; cin>>fac;

cout<<«Input the course:»; cin>>k;

for(i=0;i<n;i++)

if ((strcmp(spis[i].getfac(),fac)==0)&&(spis[i].getkurs()==k))

spis[i].show();

}

//========= main ================

int main()

{ Student *spis;

int n;

cout<<«Input a number of students: »; cin>>n;

spis=new Student [n];

for(int i=0;i<n;i++)

{ cout<<"\n=============================="<<endl;

spis[i].show();

}

cout<<"\n=============================="<<endl;

spisfac(spis,n);

cout<<"\n=============================="<<endl;

spisfackurs(spis,n);

delete [] spis;

 

}

 

 

Рисунок 1 – Окно с результатом работы программы

 

еще рефераты
Еще работы по информатике