0 / 0 / 0
Регистрация: 18.04.2013
Сообщений: 67
1

Создайте класс Passport (паспорт), который будет содержать паспортную информацию о гражданине Украины

26.08.2013, 11:01. Показов 8375. Ответов 4
Метки нет (Все метки)

Создайте класс Passport (паспорт), который будет содержать паспортную информацию о гражданине Украины. С помощью механизма наследования, реализуйте класс ForeignPassport (загран.паспорт) производный от Passport. Напомним, что загран.паспорт содержит помимо паспортных данных, также данные о визах, номер загран.паспорта.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.08.2013, 11:01
Ответы с готовыми решениями:

Создайте класс Student, который будет содержать информацию о студенте
1. Создайте класс Student, который будет содержать информацию о студенте. С помощью механизма...

Создайте класс Student, который будет содержать информацию о студенте
Создайте класс Student, который будет содержать информацию о студенте. С помощью механизма...

Создайте класс зоопарк, который будет содержать какое-то количество животных
Здравствуйте помогите пожалуйста решить задание. Создайте класс зоопарк, который будет содержать...

Создайте класс зоопарк, который будет содержать какое-то количество животных
Доброго времени суток, помогите пожалуйста написать программу. Я не могу понять саму логику...

4
50 / 50 / 9
Регистрация: 18.07.2013
Сообщений: 138
Записей в блоге: 1
26.08.2013, 13:40 2
Лучший ответ Сообщение было отмечено Прозрачный как решение

Решение

passport.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef _PASSPORT_
#define _PASSPORT_
#include <string>
#include <iostream>
using namespace std;
class Passport
{
private:
    string name,lname,patron,serial;
public:
    Passport():name("Null"),lname("Null"),patron("Null"),serial("Null"){}
    Passport(const string & name,const string & lname,const string & patron,const string & serial);
    virtual ~Passport(){}
    virtual void Show() const;
};
 
class ForeignPassport : public Passport
{
private:
    enum {VisaSize = 10};
    string id;
    string visa[VisaSize];
public:
    ForeignPassport(){}
    ForeignPassport(const string & name,const string & lname,const string & patron,const string & serial,const string * visa,const string & id);
    ForeignPassport(const Passport & p,const string * visa,const string & id);
    virtual void Show() const;
};
#endif
passport.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include "passport.h"
 
Passport::Passport(const string & _name,const string & _lname,const string & _patron,const string & _serial)
{
    name = _name;
    lname = _lname;
    patron = _patron;
    serial = _serial;
}
void Passport::Show() const
{
    cout << "Имя: " << name << endl;
    cout << "Фамилия: " << lname << endl;
    cout << "Отчество: " << patron << endl;
    cout << "Серийный номер: " << serial << endl;
}
ForeignPassport::ForeignPassport(const string & name,const string & lname,const string & patron,const string & serial,const string * _visa,const string & _id)
    :Passport(name,lname,patron,serial)
{
    for(int i=0;i<VisaSize;++i)
        visa[i] = _visa[i];
    id = _id;
}
ForeignPassport::ForeignPassport(const Passport & p,const string * _visa,const string & _id)
    :Passport(p)
{
    for(int i=0;i<VisaSize;++i)
        visa[i] = _visa[i];
    id = _id;
}
void ForeignPassport::Show() const
{
    Passport::Show();
    cout << "Номер загран. паспорта: " << id << endl;
    cout << "Доступные визы: " << endl;
    for(int i=0;i<VisaSize;++i)
        if(visa[i] != "")
            cout << visa[i] << endl;
}
Учитывай, что там есть массив string содержащий информацию о визах, что бы при передаче был равный размер. Это лишь пример, шлифовать здесь очень много.
4
3 / 3 / 3
Регистрация: 13.02.2016
Сообщений: 158
02.07.2016, 16:48 3
А что в main нужно написать?
0
0 / 0 / 0
Регистрация: 18.09.2020
Сообщений: 19
05.10.2020, 12:46 4
А что нужно писать в маин ?
0
0 / 0 / 0
Регистрация: 21.10.2021
Сообщений: 8
22.09.2022, 19:32 5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
#include <iostream>
#include <string>
using namespace std;
class passport {
private:
    string ф, и, о, дата_рождения, где_выдан, пол, гражданин, номер_паспорта,дата_выдачи,срок;
public:
    const string& getФ()const {
        return ф;
    }
    void setФ(const string& ф) {
        passport::ф = ф;
    }
    const string& getИ()const {
        return и;
    }
    void setИ(const string& и) {
        passport::и = и;
    }
    const string& getО()const {
        return о;
    }
    void setО(const string& о) {
        passport::о = о;
    }
    const string& getДата_рождения()const {
        return дата_рождения;
    }
    void setДата_рождения(const string& дата_рождения) {
        passport::дата_рождения = дата_рождения;
    }
    const string& getГде_выдан()const {
        return где_выдан;
    }
    void setГде_выдан(const string& где_выдана) {
        passport::где_выдан = где_выдана;
    }
    const string& getПол()const {
        return пол;
    }
    void setПол(const string& пол) {
        passport::пол = пол;
    }
const string&getГражданин()const {
  return гражданин;
}
    const string& getНомер_паспорта()const {
        return номер_паспорта;
    }
    void setНомер_паспорта(const string& номер_паспорта) {
        passport::номер_паспорта = номер_паспорта;
}
    const string& getДата_выдачи()const {
        return дата_выдачи;
    }
    void setДата_выдачи(const string& дата_выдачи) {
        passport::дата_выдачи = дата_выдачи;
    }
    const string& getСрок()const {
        return срок;
    }
    void setСрок(const string& срок) {
        passport::срок=срок;
    }
};
class ForeighPassport:public passport{
private:
string ф, и, о, дата_рождения, где_выдан, пол, гражданин, номер_паспорта,дата_выдачи,срок;
public:
const string&getФ()const{
  return ф;
}
const string&getИ()const{
  return и;
}
const string&getО()const{
  return о;
}
const string&getДата_рождения()const{
  return дата_рождения;
}
const string&getГде_выдан()const{
  return где_выдан;
}
const string&getПол()const{
  return пол;
}
const string&getГражданин()const{
  return гражданин;
}
const string&getНомер_паспорта()const{
  return номер_паспорта;
}
const string&getДата_выдачи()const{
  return дата_выдачи;
}
const string&getСрок()const{
  return срок;
}
ForeighPassport(const string &ф,const string&и,const string &о,const string&дата_рождения,const string&где_выдан,const string&пол,const string&гражданин,const string&номер_паспортач, const string&дата_выдачи,const string&срок){
ForeighPassport::ф=ф;
ForeighPassport::и=и;
ForeighPassport::о=о;
ForeighPassport::дата_рождения=дата_рождения;
ForeighPassport::где_выдан=где_выдан;
ForeighPassport::пол=пол;
ForeighPassport::гражданин=гражданин;
ForeighPassport::номер_паспорта=номер_паспорта;
ForeighPassport::дата_выдачи=дата_выдачи;
ForeighPassport::срок=срок;
}
};
int main() {
setlocale(LC_ALL,"rus");
passport a,b,v,c,x,f,r,d;
string n,z,q,w,e,m,l,p,vv,pp;
string n1,z1,q1,w1,e1,m1,l1,p1,vv1,pp1;
ForeighPassport zz(n1,z1,q1,w1,e1,m1,l1,p1,vv1,pp1);
a.setФ(n);
b.setИ(z);
v.setО(q);
c.setФ(w);
x.setИ(e);
f.setО(m);
r.setФ(l);
d.setИ(p);
cout<<"<<<україна паспорт>>>"<<'\n'<<endl;
cout<<"хз"<<a.getФ()<<n<<endl;
cout<<"хз"<<b.getИ()<<z<<endl;
cout<<"хз"<<a.getО()<<q<<endl;
cout<<"хз"<<a.getДата_рождения()<<w<<endl;
cout<<"хз"<<a.getГде_выдан()<<e<<endl;
cout<<"хз"<<a.getПол()<<m<<endl;
cout<<"хз"<<a.getГражданин()<<l<<endl;
cout<<"хз"<<a.getНомер_паспорта()<<p<<endl;
cout<<"хз"<<zz.getДата_выдачи()<<vv<<endl;
cout<<"хз"<<zz.getСрок()<<pp<<endl;
cout<<"<<<заграничный паспорт>>>"<<'\n'<<endl;
cout<<"Фамилия"<<zz.getФ()<<n1<<endl;
cout<<"имя"<<zz.getИ()<<z1<<endl;
cout<<"отечество"<<zz.getО()<<q1<<endl;
cout<<"Дата рождения"<<zz.getДата_рождения()<<w1<<endl;
cout<<"Кому выдан"<<zz.getГде_выдан()<<e1<<endl;
cout<<"Пол"<<zz.getПол()<<m1<<endl;
cout<<"Гражданин"<<zz.getГражданин()<<l1<<endl;
cout<<"Номер паспорта"<<zz.getНомер_паспорта()<<p1<<endl;
cout<<"Дата выдачи"<<zz.getДата_выдачи()<<vv1<<endl;
cout<<"Срок"<<zz.getСрок()<<pp1<<endl;
}
самый простой код и понятный
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.09.2022, 19:32
Помогаю со студенческими работами здесь

Создать класс City, который должен содержать информацию - площадь городов
Я хочу создать класс City. И он должен содержать информацию площадь городов (кол. 5) . Input:...

Создать класс Binary1, который будет содержать число в двоичной системе
1.Поле first – целое число, целая часть числа, записанного в восьмеричной системе счисления; поле...

Создать класс Tiles (кафель), который будет содержать поля с открытым доступом
Создать класс Tiles (кафель), который будет содержать поля с открытым доступом: brand, size_h,...

Создайте класс, который содержит информацию об имени и адресе
Создайте класс, который содержит информацию об имени и адресе. Храните всю эту информацию в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru