Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/29: Рейтинг темы: голосов - 29, средняя оценка - 4.79
10 / 1 / 0
Регистрация: 27.11.2011
Сообщений: 98

Наследование: Создать класс человек, имеющий имя, возраст, вес

04.02.2013, 20:44. Показов 5975. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создать класс человек, имеющий имя (указатель на строку), возраст, вес. Определить конструкторы, деструктор и оператор присваивания. Создать производный класс - совершеннолетний, имеющий номер паспорта. Определить конструкторы по умолчанию и с разным числом параметров, деструкторы, операторы вывода в поток. Определить функции переназначения возраста и номера паспорта. Продемонстрировать работу классов.
Помогите пожалуйста с задачей. Вот примерный код, но там есть ошибки и не все реализовано:
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
#include <iostream.h>
class chelovek
{
    char i;
    int voz;
    int ves;
public:
    chelovek(char i1, int voz1, int ves1)
    {
        i=i1;
        voz=voz1;
        ves=ves1;
    }
    chelovek()
    {
        i=0;
        voz=0;
        ves=0;
    }
char Geti()
{return i;}
int getvoz()
{return voz;}
int getves()
{return ves;}
void seti(char i1)
{i=i1;}
void setvoz(char voz1)
{voz=voz1;}
void setves(char ves1)
{ves=ves1;}
};
class sovershennolitnij: public chelovek
{
public:
    sovershennolitnij (char i1; int voz1; int ves1): chelovek(i1; voz1; ves1){}
        void showi()
    {cout<<"imya:"<<geti()<<"\n";}
        void showvoz()
        {cout<<"vozrast:"<<getvoz()<<"\n";}
    void showves()
    {cout<<"ves:"<<getves()<<"\n";}
};
int main()
{
    sovershennolitnij *ptr;
    ptr=new sovershennolitnij(20;10;5);
    ptr->showi();
    ptr->showvoz();
    ptr->showves();
    cout<<"\n";
    delete ptr;
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.02.2013, 20:44
Ответы с готовыми решениями:

Создать класс Человек, имеющий имя, возраст
Здравствуйте! Не могли бы Вы помочь мне сделать вот эту задачу: Создать класс Человек, имеющий имя, возраст. Определить конструкторы,...

Создать класс Man (человек), с полями: имя, возраст, пол и вес. Создать производный класс Student ...
Создать класс Man (человек), с полями: имя, возраст, пол и вес. Определить методы задания имени, возраста и веса. Создать производный класс...

Создать класс - человек, у которого есть имя и возраст.
Создать класс - человек, у которого есть имя и возраст. Определить функцию которая установит имя и возраст по умолчанию. Помогите! Вот...

4
 Аватар для abit
868 / 527 / 148
Регистрация: 03.02.2013
Сообщений: 1,845
04.02.2013, 23:33
на большее фантазии и времени не хватило... но вроде всё желаемое вами присутствует
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
#include <iostream>
using std::ostream;
class Human
{
    public:
        Human(char * _name = "", unsigned int _age = 0, unsigned int _weight = 0): age (_age), weight(_weight), name(_name) {};
        ~Human(){};
        Human& operator= (const Human& rhs)
            { name = rhs.name; age = rhs.age; weight=rhs.weight; };
        friend ostream& operator<< (ostream& out,const Human& rhs)
            {
                out << rhs.name <<" возраст - " << rhs.age << " вес - " << rhs.weight << " ";
                return out;
            } 
        const char * getName ()
            {return name;};
        const unsigned int getAge()
            {return age;}
        const unsigned int getWeight()
            {return weight;}
        void setName (char * _name)
            {name = _name;}
        void setAge (unsigned int _age)
            {age = _age;};
        void setWeight (unsigned int _weight)
            {weight = _weight;};    
    private:
        char * name; 
        unsigned int age;
        unsigned int weight;
};
 
class Mature : public Human
{
    public:
        Mature(char * _passNumber = ""): passNumber(_passNumber) {};
        ~Mature(){};
        friend ostream& operator<< (ostream & out, Mature& rhs)
            {
                out << rhs.getName() <<" возраст - " << rhs.getAge() << " вес - " << rhs.getWeight() << " ";
                out << "паспорт № " << rhs.passNumber;
                return out;
            } 
        const char * getPassNumber ()
            {return passNumber;};
        void setPassNumber (char * _passNumber)
            {passNumber = _passNumber;};
    private:
        char * passNumber;
};
 
using namespace std;
int main()
{
    
    Human Vasja("Вася",10,70);
    
    std::cout << Vasja << std::endl;
    
    Human Genja("Женя",10);
    
    std::cout << Genja << std::endl;
    
    Genja = Vasja; // Женя стал Васей
    std::cout << Genja.getName() <<" возраст - " << Genja.getAge() << " вес - " << Genja.getWeight() << std::endl;
    
    Mature Petja("6301 WY 1233 12412");
    
    Petja.setName("Петя");
    Petja.setAge(30);
    Petja.setWeight(100);
 
    std::cout << Petja << std::endl;
    
    Petja.setName("Пётр");
    Petja.setPassNumber("6305 ZN 124214 124124 12-222");
    
    std::cout << Petja << std::endl;
}
1
10 / 1 / 0
Регистрация: 27.11.2011
Сообщений: 98
05.02.2013, 21:40  [ТС]
Спасибо
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
05.02.2013, 22:08
Цитата Сообщение от abit Посмотреть сообщение
на большее фантазии и времени не хватило... но вроде всё желаемое вами присутствует
а по-моему тут класс не содержит имя, а только указатель на него. Где выделение памяти+копирование строк???
1
 Аватар для abit
868 / 527 / 148
Регистрация: 03.02.2013
Сообщений: 1,845
06.02.2013, 14:54
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
а по-моему тут класс не содержит имя, а только указатель на него. Где выделение памяти+копирование строк???
да, верно,
C++
1
char * name;
поменяйте на
C++
1
string name
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.02.2013, 14:54
Помогаю со студенческими работами здесь

Создать класс Человек, имеющий имя, адрес, телефон
#include &quot;mainwindow.h&quot; #include &quot;ui_mainwindow.h&quot; MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new...

Создать класс волк с полями: имя, возраст, вес, энергия, голод
Создать класс волк с полями,имя,возраст,вес,энергия,голод. Волк может охотится, что уменьшает его вес и энергию. Если он поймал добычу...

Создать класс "Студент", имеющий имя (указатель на строку), курс и идентификационный номер
Создать класс студент, имеющий имя (указатель на строку), курс и идентификационный номер. Определить конструктор, деструктор и виртуальную...

Определить класс «Растения», имеющий высоту, форму листьев и возраст
Определить класс «Растения», имеющий высоту, форму листьев и возраст. Определить конструкторы, деструктор, функции печати. Создать...

Дан список студентов, состоящий из записей: фамилия, имя, возраст, вес, рост
Ребята прошу прошения. Но мне опять нужна ваша помощь . Я очень признательна тем людям которые помогли мне с предыдущими задачами . Не...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru