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

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

Восстановить пароль Регистрация
 
Nazar199506
0 / 0 / 0
Регистрация: 26.05.2014
Сообщений: 19
28.05.2014, 09:43     Наследование #1
Наследование
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++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ilot
Модератор
Эксперт С++
1767 / 1142 / 223
Регистрация: 16.05.2013
Сообщений: 3,020
Записей в блоге: 5
Завершенные тесты: 1
28.05.2014, 09:53     Наследование #2
Чем помочь то?
Дать вам ремня, что бы хоть что-то начали делать сами?
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,334
Завершенные тесты: 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
Модератор
 Аватар для KOPOJI
16242 / 6453 / 390
Регистрация: 12.06.2012
Сообщений: 19,353
28.05.2014, 14:53     Наследование #5
Цитата Сообщение от Nazar199506 Посмотреть сообщение
нужно
Цитата Сообщение от Nazar199506 Посмотреть сообщение
Написать код программы
не хватает только "Шевелитесь, ....! "
Mr.X
Эксперт С++
 Аватар для Mr.X
2803 / 1579 / 247
Регистрация: 03.05.2010
Сообщений: 3,670
28.05.2014, 17:24     Наследование #6
Цитата Сообщение от SatanaXIII Посмотреть сообщение
5)наследование конструктора
Возможно.
Откуда такая информация?
KOPOJI
Модератор
 Аватар для KOPOJI
16242 / 6453 / 390
Регистрация: 12.06.2012
Сообщений: 19,353
28.05.2014, 17:26     Наследование #7
Mr.X, так а разве в потомках он не родительский (при условии, что его не переопределяли) ?
Mr.X
Эксперт С++
 Аватар для Mr.X
2803 / 1579 / 247
Регистрация: 03.05.2010
Сообщений: 3,670
28.05.2014, 17:32     Наследование #8
Цитата Сообщение от KOPOJI Посмотреть сообщение
Mr.X, так а разве в потомках он не родительский (при условии, что его не переопределяли) ?
Нет, в этом случае компилятор сам генерирует для класса конструктор по умолчанию и копирующий конструктор.
Объект класса может создать только конструктор этого класса, конструктор предка может создать только объект предка.
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
28.05.2014, 17:37     Наследование #9
KOPOJI, нет, конструктор потомка вызывается всегда первым (правда при этом он сразу проходит по списку инициализации и первым делом по этому списку вызывает конструктор предка, затем конструкторы своих полей класса и только потом переходит в собственное тело конструктора... э, надеюсь ясно выразился, мда...)
KOPOJI
Модератор
 Аватар для KOPOJI
16242 / 6453 / 390
Регистрация: 12.06.2012
Сообщений: 19,353
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++

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

Или воспользуйтесь поиском по форуму:
Mr.X
Эксперт С++
 Аватар для Mr.X
2803 / 1579 / 247
Регистрация: 03.05.2010
Сообщений: 3,670
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     Наследование
Ответ Создать тему
Опции темы

Текущее время: 03:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru