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

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

Восстановить пароль Регистрация
 
КоляКоля
0 / 0 / 0
Регистрация: 21.06.2013
Сообщений: 4
21.06.2013, 12:47     Написать класс, содержащий строку с именем человека #1
Написать класс, содержащий строку с именем человека и 3 целых числа с датой его
рождения (число, месяц и год). Предусмотреть в классе конструктор копирования и
оператор присваивания и перегрузить операторы ввода и вывода. Определить функцию-
оператор < для сравнения людей по датам рождения. Написать тестирующую программу


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

Написать класс, содержащий сведения об N телефонах C++
Реализуйте класс для хранения ФИО и номера телефона человека, класс для хранения даты рождения человека, а также класс для хранения ФИО и почтового ад C++
C++ Описать класс с именем ZNAK, содержащий следующие поля:
Написать программу, меняющую местами в квадратной матрице столбец, содержащий минимальный элемент и строку C++
C++ Определить класс химический элемент, содержащий информацию о названии элемента его химических свойствах. Определить класс медикаменты, содержащий разн
C++ Определить класс с именем NOTE, содержащий указанные поля
C++ Определить класс с именем NOTE, содержащий указанные поля
C++ Определить класс с именем STUDENT. Написать программу на C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DlTA
1 / 1 / 0
Регистрация: 21.06.2013
Сообщений: 26
21.06.2013, 12:53     Написать класс, содержащий строку с именем человека #2
ну попробуйте хоть что то написать, а уже потом можно будет разбирать что не так,
а так совсем не интересно.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 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;
}
Yandex
Объявления
21.06.2013, 14:01     Написать класс, содержащий строку с именем человека
Ответ Создать тему
Опции темы

Текущее время: 17:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru