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

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

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

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

28.05.2014, 09:43. Просмотров 340. Ответов 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++
Есть базовый клас Data. Клас person наследует Data . Клас waiter наследует класы person и Data . Нужно перегрузить операцию вывода для...

Наследование - C++
Помогите пожалуйста найти ошибку в коде. Тема: Наследование классов и виртуальные функции. Ошибка заключается в том, что переменные из...

Наследование - C++
Помогите!! есть два класса: дверцы и доска, из этих классов наследуется класс шкаф, а из класса шкаф наследуется кшишкова шкаф. Показать по...

Наследование - C++
Добрый вечер, помогите пожалуйста с наследованием. Написал программу ( ниже ), но как видите пришлось в классе-наследнике Bus ( Vehicle...

Наследование - C++
Используя механизм наследования реализовать иерархию: Окружность –> Цилиндр. У базового класса присутствуют методы: конструктор, вычисление...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ilot
Модератор
Эксперт С++
1807 / 1164 / 226
Регистрация: 16.05.2013
Сообщений: 3,060
Записей в блоге: 5
Завершенные тесты: 1
28.05.2014, 09:53     Наследование #2
Чем помочь то?
Дать вам ремня, что бы хоть что-то начали делать сами?
SatanaXIII
Супер-модератор
Эксперт С++
5602 / 2636 / 242
Регистрация: 01.11.2011
Сообщений: 6,495
Завершенные тесты: 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
16694 / 6620 / 431
Регистрация: 12.06.2012
Сообщений: 19,875
Завершенные тесты: 1
28.05.2014, 14:53     Наследование #5
Цитата Сообщение от Nazar199506 Посмотреть сообщение
нужно
Цитата Сообщение от Nazar199506 Посмотреть сообщение
Написать код программы
не хватает только "Шевелитесь, ....! "
Mr.X
Эксперт С++
3048 / 1693 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
28.05.2014, 17:24     Наследование #6
Цитата Сообщение от SatanaXIII Посмотреть сообщение
5)наследование конструктора
Возможно.
Откуда такая информация?
KOPOJI
Модератор
Эксперт HTML/CSSЭксперт PHP
16694 / 6620 / 431
Регистрация: 12.06.2012
Сообщений: 19,875
Завершенные тесты: 1
28.05.2014, 17:26     Наследование #7
Mr.X, так а разве в потомках он не родительский (при условии, что его не переопределяли) ?
Mr.X
Эксперт С++
3048 / 1693 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
28.05.2014, 17:32     Наследование #8
Цитата Сообщение от KOPOJI Посмотреть сообщение
Mr.X, так а разве в потомках он не родительский (при условии, что его не переопределяли) ?
Нет, в этом случае компилятор сам генерирует для класса конструктор по умолчанию и копирующий конструктор.
Объект класса может создать только конструктор этого класса, конструктор предка может создать только объект предка.
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
28.05.2014, 17:37     Наследование #9
KOPOJI, нет, конструктор потомка вызывается всегда первым (правда при этом он сразу проходит по списку инициализации и первым делом по этому списку вызывает конструктор предка, затем конструкторы своих полей класса и только потом переходит в собственное тело конструктора... э, надеюсь ясно выразился, мда...)
KOPOJI
Модератор
Эксперт HTML/CSSЭксперт PHP
16694 / 6620 / 431
Регистрация: 12.06.2012
Сообщений: 19,875
Завершенные тесты: 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++
добрый день, вопрос в следующем : #include &lt;iostream&gt; using namespace std; class A{ public: int foo(){...

Наследование - C++
На языке С++ описать модель данных для вычисления площадей и периметров геометрических фигур на плоскости: треугольников и прямоугольников....

Наследование - C++
Какой практический смысл private-наследования? (Понятно, что это инкапсуляция базового класса)

Наследование в С++ - C++
Здравствуйте! #include &lt;iostream&gt; using namespace std; class exp{ public: virtual exp* diff()=0; virtual void...


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

Или воспользуйтесь поиском по форуму:
Mr.X
Эксперт С++
3048 / 1693 / 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