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

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

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

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

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

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


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

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DlTA
1 / 1 / 0
Регистрация: 21.06.2013
Сообщений: 26
21.06.2013, 12:53     Написать класс, содержащий строку с именем человека #2
ну попробуйте хоть что то написать, а уже потом можно будет разбирать что не так,
а так совсем не интересно.
igorrr37
1636 / 1264 / 129
Регистрация: 21.12.2010
Сообщений: 1,925
Записей в блоге: 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     Написать класс, содержащий строку с именем человека
Ответ Создать тему
Опции темы

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