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

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

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

Наследование , зачем оно нужно ? - C++

08.10.2013, 09:04. Просмотров 473. Ответов 7
Метки нет (Все метки)

Добрый день , который день бьюс с темой

Добавлено через 3 минуты
Понимаю что можно создавать классы окон в Windows от родительского используя функции родителя.
Но как на практике без учебника это реализуется не знаю . //Что может унаследовать класс WomaN от MaN и не проще ли создавать просто новый класс ???Вот код :
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream>
#include<string.h>
using namespace std;
 
class MaN {
public:
char name[255];
int age;
void load(){cout<<"Name "<<name<<endl;
             cout<<"Age "<<age<<endl;}
};
 
class WomaN :  public MaN {
                                               //Что может унаследовать класс WomaN от MaN 
};
 
int main(){
MaN C_man;
          strcpy(C_man.name,"Djon");
                 C_man.age=28;
                 C_man.load();
return 0;}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2013, 09:04     Наследование , зачем оно нужно ?
Посмотрите здесь:

Зачем нужно private наследование в классах? - C++
Если можно, то покажите небольшой пример

Множественное наследование - когда оно действительно нужно? - C++
Здравствуйте! До изучения языка C++ я программировал на языках типа Java и C#, где множественное наследование от классов явно...

Зачем нужно u--? - C++
Как я понимаю это счетчик итераций !! но зачем он ?? #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; using namespace...

Зачем нужно закрывать файл? - C++
Зачем надо в конце выполнения программы использовать такую команду? stream.close();

зачем нужно Временное значение? - C++
void swapper(int &amp;x,int &amp;y) //Функция перемены мест. Если параметры будут без ссылок, то эффекта не будет { int temp; ...

Зачем нужно бинарное дерево? - C++
Какие задачи можно решать с помощью бинарного дерева?

Сортировка пузырьком. Зачем нужно 2 цикла? - C++
for(int j=1;j&lt;=k;j++) for(int i=1;i&lt;=k;i++) if(A&lt;A) { max=A; A=A; A=max; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
XRuZzz
Антикодер
659 / 560 / 27
Регистрация: 15.09.2012
Сообщений: 2,511
08.10.2013, 09:09     Наследование , зачем оно нужно ? #2
а зачем нужны учебники по программированию? например, которые находятся в разделе Литература C++
непонятно...
HoseMose
1 / 1 / 0
Регистрация: 27.08.2013
Сообщений: 101
08.10.2013, 09:14  [ТС]     Наследование , зачем оно нужно ? #3
Есть и учебник Страуструпа и google дал много чего. И примеров куча. Но пока не пощупаю сам не могу разобратся.

Добавлено через 1 минуту
Пытаюсь написать код для реализации , а не пойму что и зачем наследут
XRuZzz
Антикодер
659 / 560 / 27
Регистрация: 15.09.2012
Сообщений: 2,511
08.10.2013, 09:15     Наследование , зачем оно нужно ? #4
вы спрашиваете, что может женщина наследовать от человека. Создайте класс "мужчина" правда у вас получиться
class Man: public Man из-за особенностей англ языка.
Если вы не заметили родительский класс у вас "человек", а не мужчина.
посчитайте количество строк, а потом сделайте два класса мужчина и женщина, не связанных между собой, и снова посчитайте.
Страуструп говорит, что делает C++ таким как он есть, чтоб "представлять идеи в коде"
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.10.2013, 09:19     Наследование , зачем оно нужно ? #5
Цитата Сообщение от HoseMose Посмотреть сообщение
Что может унаследовать класс WomaN от MaN
Всё или всё что нужно:
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
#include<iostream>
#include<string.h>
using namespace std;
 
class MaN 
{
public:
char name[255];
int age;
void load(){cout<<"Name "<<name<<endl;
             cout<<"Age "<<age<<endl;}
};
 
class WomaN :  public MaN 
{
                                               //Что может унаследовать класс WomaN от MaN 
};
 
int main()
{
    MaN C_man;
    strcpy(C_man.name,"Djon");
    C_man.age = 28;
    C_man.load();
 
     WomaN Wo_man;
     strcpy(Wo_man.name,"Angela");
     Wo_man.age = 22;
     Wo_man.load();
 
    return 0;
}
Firework
63 / 87 / 23
Регистрация: 01.04.2013
Сообщений: 593
08.10.2013, 09:20     Наследование , зачем оно нужно ? #6
создайте класс human
с полями age, name...
От него будут наследоваться man, woman.
У них будут поля... ну скажем, у woman - размер груди, у man - длина пи...ки.
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
08.10.2013, 09:25     Наследование , зачем оно нужно ? #7
схема наследования не самая удачная, удачнее было бы создать класс Human, и от него наследовать оба приведенных.
но по имеющейся схеме woman уже наследует от man оба его все что у него есть, т.к. у него все public.
ты, наверное, хотел спросить, как можно дополнить класс. например, можно добавить метод красить_губы, носить_высокие_каблуки, смотреться_в_зеркало, выйти_замуж, ...

Добавлено через 1 минуту
вот типичный пример плохой синхронизации :)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.10.2013, 09:29     Наследование , зачем оно нужно ?
Еще ссылки по теме:

Зачем нужно компилировать библиотеку C++ Box2d? - C++
Мне интересна причина того, почему разработчики некоторых C++ библиотек (в моей ситуации Box2d) не дают dll или lib библиотеки, а дают...

Конструкторы - что это и зачем нужно? - C++
Объясните, пожалуйста, для чего нужны конструкторы и деструкторы? Что это вообще?

Зачем нужно опережающее объявление класса в заголовке? - C++
Часто натыкаюсь на такой код: class NewType; class Class1 { public: Class1(); private: NewType *field; };

Зачем нужно явно указывать тип переменной? - C++
Всем привет! Объясните зачем нужно явно указывать тип переменной? Например в С++ это обязательно, а php нет. Просто говорят что не...

Зачем нужно возвращать ссылку на объекты потоковых типов? - C++
В книжке Герберта Шилдта четко и ясно указано, что для того, чтобы перегружать операции ввода-вывода, надо возвращать ссылку на объект...


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

Или воспользуйтесь поиском по форуму:
HoseMose
1 / 1 / 0
Регистрация: 27.08.2013
Сообщений: 101
08.10.2013, 09:29  [ТС]     Наследование , зачем оно нужно ? #8
Все стало ясно , спасибо вам alsav22. Не знал что не надо объявлять явно функции класса MaN в классе WomaN.
тут все понятно
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main()
{
    MaN C_man;
    strcpy(C_man.name,"Djon");
    C_man.age = 28;
    C_man.load();
 
     WomaN Wo_man;
     strcpy(Wo_man.name,"Angela");
     Wo_man.age = 22;
     Wo_man.load();
 
    return 0;
}
Yandex
Объявления
08.10.2013, 09:29     Наследование , зачем оно нужно ?
Ответ Создать тему
Опции темы

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