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

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

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

Наследование - C++

28.05.2014, 09:43. Просмотров 328. Ответов 10
Метки нет (Все метки)

Наследование
1)Должна быть табличка 3*3
2)Разные типы наследования
3)программа в в которой будет наследоваться клас
4) наследуются ли операторы перегрузки и дружественные функции
5)наследование конструктора
Вот, помогите пожалуйста, кто может.
буду очень благодарен

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

C++ Наследование
C++ Наследование
Наследование в С++ C++
C++ Наследование
наследование C++
C++ Наследование
C++ Наследование
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ilot
Модератор
Эксперт С++
1785 / 1160 / 225
Регистрация: 16.05.2013
Сообщений: 3,056
Записей в блоге: 5
Завершенные тесты: 1
28.05.2014, 09:53     Наследование #2
Чем помочь то?
Дать вам ремня, что бы хоть что-то начали делать сами?
SatanaXIII
Супер-модератор
Эксперт С++
5589 / 2623 / 239
Регистрация: 01.11.2011
Сообщений: 6,448
Завершенные тесты: 1
28.05.2014, 10:05     Наследование #3
Цитата Сообщение от Nazar199506 Посмотреть сообщение
1)Должна быть табличка 3*3
2)Разные типы наследования
Разные типы наследования таблички?
Цитата Сообщение от Nazar199506 Посмотреть сообщение
3)программа в в которой будет наследоваться клас
Такое можно создать.
Цитата Сообщение от Nazar199506 Посмотреть сообщение
4) наследуются ли операторы перегрузки и дружественные функции
Да.
Цитата Сообщение от Nazar199506 Посмотреть сообщение
5)наследование конструктора
Возможно.
Nazar199506
0 / 0 / 0
Регистрация: 26.05.2014
Сообщений: 19
28.05.2014, 14:49  [ТС]     Наследование #4
SatanaXIII,
нужно код программы , а не ответить на вопросы

Добавлено через 8 минут
Ilot, Написать код программы
KOPOJI
Модератор
Эксперт HTML/CSSЭксперт PHP
16677 / 6603 / 427
Регистрация: 12.06.2012
Сообщений: 19,834
Завершенные тесты: 1
28.05.2014, 14:53     Наследование #5
Цитата Сообщение от Nazar199506 Посмотреть сообщение
нужно
Цитата Сообщение от Nazar199506 Посмотреть сообщение
Написать код программы
не хватает только "Шевелитесь, ....! "
Mr.X
Эксперт С++
3040 / 1685 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
28.05.2014, 17:24     Наследование #6
Цитата Сообщение от SatanaXIII Посмотреть сообщение
5)наследование конструктора
Возможно.
Откуда такая информация?
KOPOJI
Модератор
Эксперт HTML/CSSЭксперт PHP
16677 / 6603 / 427
Регистрация: 12.06.2012
Сообщений: 19,834
Завершенные тесты: 1
28.05.2014, 17:26     Наследование #7
Mr.X, так а разве в потомках он не родительский (при условии, что его не переопределяли) ?
Mr.X
Эксперт С++
3040 / 1685 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
28.05.2014, 17:32     Наследование #8
Цитата Сообщение от KOPOJI Посмотреть сообщение
Mr.X, так а разве в потомках он не родительский (при условии, что его не переопределяли) ?
Нет, в этом случае компилятор сам генерирует для класса конструктор по умолчанию и копирующий конструктор.
Объект класса может создать только конструктор этого класса, конструктор предка может создать только объект предка.
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,917
Записей в блоге: 1
28.05.2014, 17:37     Наследование #9
KOPOJI, нет, конструктор потомка вызывается всегда первым (правда при этом он сразу проходит по списку инициализации и первым делом по этому списку вызывает конструктор предка, затем конструкторы своих полей класса и только потом переходит в собственное тело конструктора... э, надеюсь ясно выразился, мда...)
KOPOJI
Модератор
Эксперт HTML/CSSЭксперт PHP
16677 / 6603 / 427
Регистрация: 12.06.2012
Сообщений: 19,834
Завершенные тесты: 1
28.05.2014, 17:45     Наследование #10
Mr.X, мне кажется, имелось в виду подобное поведение
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
#include <iostream>
 
class A
{
  public:
    A();
};
class B: public A
{
};
 
A::A()
{
    std::cout << "I'm created!" << std::endl;
}
 
int main(int argc, char *argv[])
{
    A *a = new A();
    B *b = new B();
    
    delete a;
    delete b;
    
    return 0;
}
Код глупый, но показывает то, про что я говорил.. Видимо, или я вас не понял, или вы меня
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2014, 18:10     Наследование
Еще ссылки по теме:

Наследование C++
C++ Наследование
C++ Наследование
C++ наследование
C++ Наследование

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

Или воспользуйтесь поиском по форуму:
Mr.X
Эксперт С++
3040 / 1685 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
28.05.2014, 18:10     Наследование #11
Цитата Сообщение от KOPOJI Посмотреть сообщение
Mr.X, мне кажется, имелось в виду подобное поведение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
class A
{
 public:
 A();
};
class B: public A
{
};
A::A()
{
 std::cout << "I'm created!" << std::endl;
}
int main(int argc, char *argv[])
{
 A *a = new A();
 B *b = new B();
delete a;
 delete b;
return 0;
}
Здесь компилятор неявно сгенерировал конструктор по умолчанию для класса B с пустым списком инициализации и с пустым телом, при вызове которого вызывается конструктор по умолчанию класса A.

Если же мы вот так код перепишем
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
#include <iostream>
 
class A
{
  public:
    A( int  i );
};
class B: public A
{
};
 
A::A( int  i = 0 )
{
    std::cout << "I'm created!" << std::endl;
}
 
int main(int argc, char *argv[])
{
    A *a = new A();
    B *b = new B();
    
    delete a;
    delete b;
    
    return 0;
}
то компилятор не сможет сам сгенерировать конструктор по умолчанию для класса B.
Yandex
Объявления
28.05.2014, 18:10     Наследование
Ответ Создать тему
Опции темы

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