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

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

30.05.2013, 19:29. Показов 12990. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Не могли бы Вы помочь мне сделать вот эту задачу:

Создать класс Человек, имеющий имя, возраст. Определить конструкторы, деструктор и функцию печати. Создать public-производный класс - Совершеннолетний, имеющий номер паспорта. Определить конструкторы по умолчанию и с параметрами, деструктор, фуекцию печати. Определить функцию переназначения номера паспорта.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.05.2013, 19:29
Ответы с готовыми решениями:

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

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

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

5
 Аватар для amadey18
92 / 92 / 51
Регистрация: 29.04.2013
Сообщений: 361
30.05.2013, 20:40
Извиняюсь если что неправильно, я еще новичок)
Надеюсь все правильно.
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
80
81
82
83
84
85
86
87
88
89
#include<iostream>
using namespace std;
 
class Human
{
public:
    Human();
    Human(char* name, int age){itsName=name; itsAge=age;}
    ~Human(){};
    void SetName(char* name);
    void SetAge(int age);
    int GetName()const{return *itsName;}
    int GetAge()const{return itsAge;}
    void Display()const;
private:
    char* itsName;
    int itsAge;
};
//ивиняюсь за название класса
//Sov - Sovershennoletniy
class Sov: public Human
{
public:
    Sov();
    Sov(long number);
    ~Sov(){};
    int GetNumber()const{return itsNumber;}
    void SetNumber(long number){itsNumber=number;}
    void Display_number()const;
private:
    long itsNumber;
};
 
Human::Human()
{
    itsName = "Maxim";
    itsAge = 21;
}
 
void Human::SetName(char* name)
{
    itsName = name;
}
 
void Human::SetAge(int age)
{
    itsAge = age;
}
 
void Human::Display() const
{
    cout << "Name: " << itsName << "\n";
    cout << "Age: " << itsAge << "\n";
}
 
Sov::Sov()
{
    itsNumber = 123456;
}
 
Sov::Sov(long number)
{
    itsNumber = number;
}
 
void Sov::Display_number() const
{
    Human::Display();
    cout << "Nomer pasporta: " << itsNumber << "\n";
}
 
int main()
{
    char name[10];
    int age;
    long pasport;
    Sov people;
    cout << "Enter the name: ";
    cin >> name;
    cout << "enter age: ";
    cin >> age;
    cout << "nomer pasporta: ";
    cin >> pasport;
    people.SetName(name);
    people.SetAge(age);
    people.SetNumber(pasport);
    people.Display_number();
    return 0;
}
0
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
30.05.2013, 23:22
Лучший ответ Сообщение было отмечено как решение

Решение

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
80
81
82
83
84
85
86
87
88
89
#include <iostream>
#include <cstring>
 
class Human {
 public:
  Human() : name(0), age(0) {}
  Human(const char *name, int age) : name(0), age(age) {
    setName(name);
  }
  Human(const Human &other) : name(0), age(other.getAge()) {
    setName(other.getName());
  }
  Human &operator=(const Human &other) {
    if (this != &other) {
      setName(other.getName());
      setAge(other.getAge());
    }
    return *this;
  }
  virtual ~Human() {
    delete [] name;
  }
  void setName(const char *name) {
    delete [] this->name;
    this->name = strcpy(new char[strlen(name) + 1], name);
  }
  const char *getName() const { return name; }
  int getAge() const { return age; }
  void setAge(int age) { this->age = age; }
 private:
  char *name;
  int age;
};
 
class Adult : public Human {
 public:
  Adult() : Human(), passport(0) {}
  Adult(const char *name, int age, const char *passport) : Human(name, age),
    passport(0) {
    setPassport(passport);
  }
  Adult(const Adult &adult) : Human(adult), passport(0) {
    setPassport(adult.getPassport());
  }
  Adult &operator=(const Adult &adult) {
    if (this != &adult) {
      Human::operator=(adult);
      setPassport(adult.getPassport());
    }
    return *this;
  }
  virtual ~Adult() {
    delete [] passport;
  }
  void setPassport(const char *passport) {
    delete [] this->passport;
    this->passport = strcpy(new char[strlen(passport) + 1], passport);
  }
  const char *getPassport() const { return passport; }
 private:
  char *passport;
};
 
std::ostream &operator<<(std::ostream &stream, const Human &human) {
  return stream << "Human{" <<
    "name='" << human.getName() << "', " <<
    "age=" << human.getAge() << "}";
}
 
std::ostream &operator<<(std::ostream &stream, const Adult &adult) {
  return stream << "Adult{" <<
    "name='" << adult.getName() << "', " <<
    "age=" << adult.getAge() << ", " <<
    "passport='" << adult.getPassport() << "'}";
}
 
int main(int, char**) {
  Adult a("Petr", 18, "12345");
  std::cout << a << std::endl;
  Adult b;
  a.setPassport("asdfg");
  b = a;
  std::cout << b << std::endl;
 
  Human c(a);
  std::cout << c << std::endl;
 
  return 0;
}
Добавлено через 1 минуту
Цитата Сообщение от amadey18 Посмотреть сообщение
Извиняюсь если что неправильно, я еще новичок)
Надеюсь все правильно.
Поля-строки лучше копировать в класс, а не просто указатель назначать. Иначе поменяете значение исходной строки -- и привет.
3
-1 / 1 / 0
Регистрация: 23.12.2012
Сообщений: 45
31.05.2013, 00:02  [ТС]
А не можете переделать этот код под Qt Creator?
0
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
31.05.2013, 07:55
Цитата Сообщение от SvI Посмотреть сообщение
А не можете переделать этот код под Qt Creator?
QT Creator это такая IDE. Компилятор там -- GCC. Вышеприведенный код компилируется в GCC.
0
 Аватар для amadey18
92 / 92 / 51
Регистрация: 29.04.2013
Сообщений: 361
31.05.2013, 09:04
Цитата Сообщение от lemegeton Посмотреть сообщение

Добавлено через 1 минуту

Поля-строки лучше копировать в класс, а не просто указатель назначать. Иначе поменяете значение исходной строки -- и привет.
О, спасибо, разобрался.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.05.2013, 09:04
Помогаю со студенческими работами здесь

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

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

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

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

Создайте класс пользователя, с полями: фамилия, имя, возраст и e-mail
3. Создайте класс пользователя, с полями: фамилия, имя, возраст и e-mail. 4. В HTML форме пользователь вводит в четыре разные поля:...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
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