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

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

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

Написать класс, содержащий строку с именем человека - C++

21.06.2013, 12:47. Просмотров 476. Ответов 2
Метки нет (Все метки)

Написать класс, содержащий строку с именем человека и 3 целых числа с датой его
рождения (число, месяц и год). Предусмотреть в классе конструктор копирования и
оператор присваивания и перегрузить операторы ввода и вывода. Определить функцию-
оператор < для сравнения людей по датам рождения. Написать тестирующую программу


ПОМОГИТЕ!!)))ПОЖАЛУЙСТА!!)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2013, 12:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать класс, содержащий строку с именем человека (C++):

Класс содержащий персональную информацию человека - C++
Реализовать класс, содержащий данные для хранения фамилии, возраста, профессии, домашнего адреса и телефона человека. Написать метод,...

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

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

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

Класс содержащий строку символов - C++
Добрый день. Не пойму как правильно написать след. код. Задача: 13. Заполните массив данными и затем выведите их на экран. Для...

Определить класс с именем STUDENT. Написать программу на C++ - C++
1. Определить класс с именем STUDENT, содержащий следующие поля: а) Фамилия и инициалы; б) Номер группы; в) Успеваемость (массив из...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
DlTA
1 / 1 / 0
Регистрация: 21.06.2013
Сообщений: 26
21.06.2013, 12:53 #2
ну попробуйте хоть что то написать, а уже потом можно будет разбирать что не так,
а так совсем не интересно.
igorrr37
1646 / 1274 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
21.06.2013, 14:01 #3
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
#include <cstring>
#include <algorithm>
#include <iostream>
#include <stdexcept>
 
class Hombre// класс Человек
{
public:
    Hombre(char const* const pnombre, size_t const ano, size_t const mes, size_t const dia) : _ano(ano), _mes(mes), _dia(dia)// конструктор
    {
        _pnombre = new char[strlen(pnombre) + 1];
        strcpy(_pnombre, pnombre);
    }
 
    Hombre(Hombre const& rhs) : _ano(rhs._ano), _mes(rhs._mes), _dia(rhs._dia)// конструктор копии
    {
        _pnombre = new char[strlen(rhs._pnombre) + 1];
        strcpy(_pnombre, rhs._pnombre);
    }
 
    Hombre& operator=(Hombre rhs)//
    {
        std::swap(_pnombre, rhs._pnombre);
        _ano = rhs._ano;
        _mes = rhs._mes;
        _dia = rhs._dia;
        return *this;
    }
 
    friend std::ostream& operator<< (std::ostream& ost, Hombre const& rhs)// оператор вывода
    {
        return ost << rhs._pnombre << '\n' << rhs._ano << '\n' << rhs._mes << '\n' << rhs._dia;
    }
 
    friend std::istream& operator>> (std::istream& ist, Hombre& rhs)// оператор ввода
    {
        Hombre tmp;
        ist.getline(tmp._pnombre, 100);
        if(!(ist >> tmp._ano >> tmp._mes >> tmp._dia))
            throw std::runtime_error("operator>> failed");
        rhs = tmp;
        return ist;
    }
 
    bool operator< (Hombre const& rhs) const
    {
        return (_ano > rhs._ano) || (_ano == rhs._ano && _mes > rhs._mes) || (_ano == rhs._ano && _mes == rhs._mes && _dia > rhs._dia);
    }
 
    ~Hombre()// деструктор
    {
        delete[] _pnombre;
        _pnombre = 0;
        _ano = 0;
        _mes = 0;
        _dia = 0;
    }
 
private:
    char* _pnombre;// имя
    size_t _ano, _mes, _dia;// год, месяц, день
 
    Hombre()// для operator>>
    {
        _pnombre = new char[100];
    }
};
 
int main()
{
    Hombre hmb1("Nombre 1", 1990, 1, 30), hmb2("Nombre 2", 1991, 2, 20);
    std::cout << (hmb2 < hmb1) << "\n\n";
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2013, 14:01
Привет! Вот еще темы с ответами:

Создать класс содержащий строку и метод выводящий ее реверсное значение - C++
Помогите пожалуйста.Написать программу.чтобы слово катя выводилось в обратном порядке. Все это с помощью класса с приватом. И чтобы были...

Написать класс, содержащий сведения об N телефонах - C++
Написать класс, содержащий сведения об N телефонах АТС в таком виде: фамилия абонента, год установки телефона, номер телефона, количество....

Реализуйте класс для хранения ФИО и номера телефона человека, класс для хранения даты рождения человека, а также класс для хранения ФИО и почтового ад - C++
Реализуйте класс для хранения ФИО и номера телефона человека, класс для хранения даты рождения человека, а также класс для хранения ФИО и...

Определить класс химический элемент, содержащий информацию о названии элемента его химических свойствах. Определить класс медикаменты, содержащий разн - C++
Определить класс химический элемент, содержащий информацию о названии элемента его химических свойствах. Определить класс медикаменты,...


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

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

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