Технически университет – София
Курсова работа
по
„Програмни езици”
Изготвил: Зюлбие Исмаилова Иврахимова
Фак. № 121208118
Факултет: ФКСУ
Специалност: КСТ
Курс: III
група 62
Задание: Да се дефинира базов клас за лице зададен с име, единен граждански номер и
адрес. Да се дефинира производен клас, зададен с масив от указатели към адресите на
недвижимите имоти за всяко лице (char *adr[n], n<=5). Класовете да включват
конструктори, деструктори и член функции за извеждане. Да се реализира: 1) извеждане на
информацията за лицата, чиито адрес съвпада с някой от адресите на притежаваните
имоти; 2) извеждане на притежаваните имоти от лице, зададено с единния си граждански
номер. Да се предефинира операцията <<, която да се използва за извеждане на данните.
Данните да се съхраняват във файл.
Сорс код:
#include "stdafx.h"
#include<iostream>
#include<string>
#include<fstream>
using namespace std;
class Person
{
protected:
string ime;
string egn;
char adres[100];
public:
Person()
{
}
Person(string _ime, string _egn, char *_adres)
{
ime=_ime;
egn=_egn;
strcpy(adres,_adres);
}
~Person()
{
}
void showPerson()
{
cout<<"nIme: "<<ime<<"n";
cout<<"EGN: "<<egn<<"n";
cout<<"Adres: "<<adres<<"n";
}
};
class Addresses:public Person
{
char *adr[5];
int addressLength;
public:
Addresses():Person()
{
addressLength = 0;
}
Addresses(string _ime, string _egn, char *_adres):Person(_ime, _egn, _adres)
{
addressLength=0;
}
Addresses(string _ime, string _egn, char *_adres, char _adr[][], int adrLen):Person(_ime, _egn, _adres)
{
addressLength = 0;
for(; addressLength < adrLen; addressLength++)
{
if(addressLength >= 5)
{
break;
}
adr[addressLength] = _adr[addressLength];
}
}
~Addresses()
{