Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
маня
1 / 1 / 0
Регистрация: 28.04.2012
Сообщений: 115
#1

Создать класс Letter, содержащий следующие элементы - C++

01.10.2012, 16:11. Просмотров 721. Ответов 5
Метки нет (Все метки)

Создать класс Letter, содержащий следующие элементы:
- поле «отправитель» Person* Sender;
- поле «получатель» Person* Receiver;
- поле «адрес» char* Address;
- метод отправки письма int Send(); (если хотя бы одно поле не заполнено, то уведомить об ошибке – вернуть 1, иначе 0)
- метод получения адресной информации (ФИО1+ФИО2+адрес) char* GetInfo();
- конструктор с параметрами Letter(Person* sender, Person* receiver, char* Address);
- конструктор без параметров
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2012, 16:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать класс Letter, содержащий следующие элементы (C++):

Создать класс Employee, содержащий следующие элементы: - C++
Создать класс Employee, содержащий следующие элементы: - поле «ФИО» char* FIO; - поле «Табельный номер» int Number; - поле...

Создать класс Money, содержащий следующие элементы - C++
Создать класс Money, содержащий следующие элементы: - поле «валюта» char* Currency; - поле «сумма» long Sum; - метод получения ...

Создать класс Triangle, содержащий следующие члены класса - C++
Все почти работает, но не получается вывести кол-во экземпляров класса, подскажите как? Задание: 1. Поля int a , b , c; 2. Функции ,...

создать класс triangle , содержащий следующие члены класса - C++
1. Поля int a , b , c; 2. Функции , позволяющие : - вывести на экран информацию о треугольнике ;-рассчитать периметр треугольника; -...

Создать класс Triangle, содержащий следующие члены класса - C++
Помогите подправить код..Плиз Задание Создать класс Triangle, содержащий следующие члены класса: 1. Поля: • int a, b, c; ...

Создать класс Vehicle, соСдержащий следующие элементы: - C++
Создать класс Vehicle, соСдержащий следующие элементы: - поле «скорость» int Speed; - поле «масса» int Mass; - метод получения...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MrRuslanBB
5 / 5 / 0
Регистрация: 02.04.2012
Сообщений: 318
06.02.2013, 19:00 #2
Маня, у вас получилось создать этот класс?? Если да и у вас остался код будте добры скинуть))
0
abit
262 / 261 / 33
Регистрация: 03.02.2013
Сообщений: 722
06.02.2013, 22:06 #3
Цитата Сообщение от MrRuslanBB Посмотреть сообщение
Маня, у вас получилось создать этот класс?? Если да и у вас остался код будте добры скинуть))
чё там создавать то? делов на пару минут... но больше возни с char *, чем с самим классом
я смотрю на всё это с большим не пониманием... в С++ есть контейнер string, есть прекрасный набор шаблонов STL, чего вы возитесь с этими char *?
1
MrRuslanBB
5 / 5 / 0
Регистрация: 02.04.2012
Сообщений: 318
07.02.2013, 01:34 #4
по заданию надо char* использовать))

ну вот вообщем, что я накидал)) пока полный бред, т.к. полностью не разобрался - каша в голове полная!

если можете подредактируйте, дополните))

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
#include <iostream.h>
#include <string.h>
 
class Letter {
 Person*Sender;
 Person*Receiver;
 char*Adress;
 public;
  char*GetInfo();
  Letter(char*,char*,char*,char*,char*,char*,char*);
};
 
char*Letter::GetInfo(){
char*Result;
strcpy(Result, FirstName1);
strcpy(Result, " ");
strcpy(Result, LastName1);
strcpy(Result, " ");
strcpy(Result, Otchestvo1);
strcpy(Result, " ");
strcpy(Result, FirstName2);
strcpy(Result, " ");
strcpy(Result, LastName2);
strcpy(Result, " ");
strcpy(Result, Otchestvo2);
strcpy(Result, " ");
strcpy(Result, Adress);
strcpy(Result, " ");
return Result;
};
 
Letter::Letter(char*FN1, char*LN1, char*Ot1, char*FN2, char*LN2, char*Ot2, char*Adres) {
strcpy(FirstName, FN1);
strcpy(LastName, LN1);
strcpy(Otchestvo, Ot1);
strcpy(FirstName, FN2);
strcpy(LastName, LN2);
strcpy(Otchestvo, Ot2);
strcpy(Otchestvo, Adress);
};
 
void main(){
Letter Hum("Mikola", "Andrey", "Vladimirovich", "Alekseev", "Anton", "Olegovich", Honshonkova 51");
cout<<Hum.GetInfo();
}.
0
abit
262 / 261 / 33
Регистрация: 03.02.2013
Сообщений: 722
07.02.2013, 02:46 #5
Цитата Сообщение от MrRuslanBB Посмотреть сообщение
по заданию надо char* использовать))

ну вот вообщем, что я накидал)) пока полный бред, т.к. полностью не разобрался - каша в голове полная!
действительно каша)))

давайте натолкну вас на путь сперва

читаем задание
Создать класс Letter, содержащий следующие элементы:
- поле «отправитель» Person* Sender;
- поле «получатель» Person* Receiver;
- поле «адрес» char* Address;
- метод отправки письма int Send(); (если хотя бы одно поле не заполнено, то уведомить об ошибке – вернуть 1, иначе 0)
- метод получения адресной информации (ФИО1+ФИО2+адрес) char* GetInfo();
- конструктор с параметрами Letter(Person* sender, Person* receiver, char* Address);
- конструктор без параметров
разберём прям по пунктам...
класс - есть структура, с одним отличием - у структуры public методы по дефолту, у класса - private, всё, больше отличий нет, хорошо...
делаем
Создать класс Letter
C++
1
2
3
class Letter
{
};
создали... читаем дальше
- поле «отправитель» Person* Sender;
- поле «получатель» Person* Receiver;
из текста видим, что есть какой-то класс Person, на который надо создать два указателя - либо он отправил, либо прислал письмо... пока не понятно что за класс Person, но, очевидно, он тоже private - можно насобачить аналогично:

C++
1
2
3
4
5
class Letter
{
    Person * Sender;
    Person * Receiver;
};
далее

- поле «адрес» char* Address;
хорошо, дадим это поле:

C++
1
char * Address;
и теперь самая работа:
-метод отправки письма int Send(); (если хотя бы одно поле не заполнено, то уведомить об ошибке – вернуть 1, иначе 0)
- метод получения адресной информации (ФИО1+ФИО2+адрес) char* GetInfo();
- конструктор с параметрами Letter(Person* sender, Person* receiver, char* Address);
- конструктор без параметров
метод отправки
C++
1
2
3
int Send()
{ if ((Sender!="")||(Reciver!="")) return 1;
   else return 0;}
метод получения - по аналогии,
далее

конструктор с параметрами:
C++
1
Letter(Person* sender, Person* receiver, char* Address);
на удивление так и будет

C++
1
Letter(Person* sender, Person* receiver, char* address) {Sender = sender; Reciever = receiver; Address = address};
но в private придётся добавить:

C++
1
2
3
4
5
6
7
8
class Letter
{
 ...
 char * address; (я бы добавил string)
 
public:
 Letter(Person* sender, Person* receiver, char* address) {Sender = sender; Reciever = receiver; Address = address};
};
и последний пункт - - конструктор без параметров

ок...
C++
1
2
3
4
5
6
7
8
class Letter
{
 ...
 
public:
 ....
 Letter(): Sender(NULL), Reciver(NULL), Address(NULL) {};
};
но вообще в этих конструкторах надо определить функции new для всех char* и создать дестркуторы c delete[] для них же ) поэтому описал в общих чертах
1
MrRuslanBB
5 / 5 / 0
Регистрация: 02.04.2012
Сообщений: 318
08.02.2013, 01:15 #6
Спасибо, многое прояснили, вот всё задание))

Создать класс Letter, содержащий следующие элементы:
- поле «отправитель» Person*Sender;
- поле «получатель» Person*Receiver;
- поле «адрес» char*Address;
- метод отправки письма int Send(); (если хотя бы одно поле не заполнено, то уведомить об ошибке – вернуть 1, иначе 0)
- метод получения адресной информации (ФИО+ФИО+адрес) char* GetInfo();
- конструктор с параметрами Letter(Person* sender, Person* receiver, char* Address);

Создать класс Person, содержащий следующие элементы:
- поле «имя» char*FirstName;
- поле «фамилия» char*LastName;
- поле «отчество» char*Otchestvo;
- метод получения (ФИО) char*GetFIO();
- конструктор с параметрами Person(char*FirstName, char*LastName, char*Otchestvo);

В классе Letter переопределить оператор! (унарный оператор класса), новое действие вернуть по адресу.


вот класс Person, вроде разобрал:
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
class Person {
 char*FirstName;
 char*LastName;
 char*Otchestvo;
  public:
  char*GetFIO();
  Person(char*,char*,char*); //konstruktor s parametrami
};
 
char*Person::GetFIO(){
char*Result;
strcpy(Result, FirstName);
strcpy(Result, " ");
strcpy(Result, LastName);
strcpy(Result, " ");
strcpy(Result, Otchestvo);
strcpy(Result, " ");
return Result;
};
 
Person::Person(char*FN, char*LN, char*Ot) {
strcpy(FirstName, FN);
strcpy(LastName, LN);
strcpy(Otchestvo, Ot);
};
 
void main(){
Person Hum("Podnebesny", "Ruslan", "Mikhailovich");
cout<<Hum.GetFIO();
}.
а вот Letter ещё не разобрал))
вот, что у меня вышло с вашей помощью:


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
class Letter {
 Person*Sender;
 Person*Receiver;
 char*Adress;                           
 public:                            
  int Send(){ if ((Sender!="")||(Reciver!="")) return 1; //metod otpravki
   else return 0;};                                  //--------------
 
  char*GetInfo();                   //metod poluchenia
 Letter(char*,char*,char*,char*,char*,char*,char*); //----------------
 Letter(Person*sender, Person*receiver, char*adress) {Sender=sender; Reciever=receiver; Adress=adress}; //konstruktor s parametrami
};
 
 
char*Letter::GetInfo(){
char*Result;
strcpy(Result, FirstName1);
strcpy(Result, " ");
strcpy(Result, LastName1);
strcpy(Result, " ");
strcpy(Result, Otchestvo1);
strcpy(Result, " ");
strcpy(Result, FirstName2);
strcpy(Result, " ");
strcpy(Result, LastName2);
strcpy(Result, " ");
strcpy(Result, Otchestvo2);
strcpy(Result, " ");
strcpy(Result, Adress);
strcpy(Result, " ");
return Result;
};
 
Letter::Letter(char*FN1, char*LN1, char*Ot1, char*FN2, char*LN2, char*Ot2, char*Adres) {
strcpy(FirstName, FN1);
strcpy(LastName, LN1);
strcpy(Otchestvo, Ot1);
strcpy(FirstName, FN2);
strcpy(LastName, LN2);
strcpy(Otchestvo, Ot2);
strcpy(Otchestvo, Adress);
};
 
void main(){
Letter Hum("Mikola", "Andrey", "Vladimirovich", "Artorev", "Maksim", "Viktorovich", "Bashanova 65");
cout<<Hum.GetInfo();
};
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.02.2013, 01:15
Привет! Вот еще темы с ответами:

Создать класс Rectangle, разработав следующие элементы класса - C++
Создать класс Rectangle, разработав следующие элементы класса: a) Поля: int a, b; b) Конструктор, позволяющий создать экземпляр класса...

Создать класс Triangle, разработав следующие элементы класса - C++
Создать класс Triangle, разработав следующие элементы класса: a. Поля:  int a, b, c; b. Конструктор, позволяющий создать экземпляр...

Описать класс с именем ZNAK, содержащий следующие поля: - C++
1. Описать класс с именем ZNAK, содержащий следующие поля: • фамилия, имя; • знак Зодиака; • день рождения (массив из трех чисел). ...

Создать иерархию классов Шахматная фигура – абстрактный класс, содержащий поле – цвет. Создать производные классы - C++
Создать иерархию классов Шахматная фигура – абстрактный класс, содержащий поле – цвет. Создать производные классы все фигуры, содержащие...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
08.02.2013, 01:15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru