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

Наследование классов: неудачный пример из Лафоре - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Отсортировать по номеру маршрута http://www.cyberforum.ru/cpp-beginners/thread1205976.html
Описать структуру с именем MARSH, содержащую следующие поля: BEGST — название начального пункта маршрута; TERM — название конечного пункта маршрута; NUMER — номер маршрута. 2. Написать программу, выполняющую следующие действия: ввод с клавиатуры данных в массив TRAFIC, состоящий из восьми элементов типа MARSH; записи должны быть упорядочены по номерам маршрутов; вывод на экран...
C++ Проверить, образуют ли элементы целочисленного массива арифметическую прогрессию Помогите написать програму! Ввести целочисленный массив с 5-ти элементов и проверить, образуют его элементы арифметическую прогрессию. http://www.cyberforum.ru/cpp-beginners/thread1205963.html
C++ Дано двумерный массив размерности nxn. Определить место нахождения минимального элемента
Дано двумерный массив размерности nxn. Определить место нахождения минимального элемента.
В массиве А (n) определить количество элементов, значения которых равны 3 C++
В массиве А (n) определить количество элементов, значения которых равны 3.
C++ Найти макс. элемент среди отрицательных и мин. элемент среди положительных элементов массива http://www.cyberforum.ru/cpp-beginners/thread1205947.html
В массиве (введенном пользователем) найти максимальный элемент среди отрицательных массива и найти минимальный элемент среди положительных элементов массива :cry: помогите пожалуйста
C++ Обобщенная обратная матрица Всем привет. В общем такая ситуация. Реализовала на с++ нахождение обратной матрицы путем решения СЛАУ методом Гаусса-Жордана. НО во всех случаях матрицы выходила вырожденной. Далее попробовала найти псевдообратную. Опять же ничего хорошего не вышло. Обратила матрицу в маткаде при помощи функции geninv () - задача решилась. Теперь ищу эту реализацию нахождения обобщенной обратной на си. Может... подробнее

Показать сообщение отдельно
dicros
 Аватар для dicros
1 / 1 / 0
Регистрация: 24.04.2014
Сообщений: 63
12.06.2014, 01:04     Наследование классов: неудачный пример из Лафоре
И снова всем доброй ночи . Начал читать про наследование классов и совсем запутался может быть вы мне растолкуете в чем ошибка и чего я не понял. Вот пример:

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
#include <iostream>
using namespace std;
 
class test
{
protected:
    int number;
public:
    test() :number(0)
    {
        cout << "Пустой Конструктор(test)" << endl;
    };
 
    test(int n) :number(n)
    {
        cout << "Конструктор с одним параметром(test)" << endl;
    };
 
    void display() const
    {
        cout << number << endl;
    };
 
    void operator++()
    {
        ++number;
    };
};
 
class tes :public test
{
public:
    void getzn()
    {
        cout << "Input zn: ";
        cin >> number;
    };
 
    void operator--()
    {
        --number;
    };
};
int main()
{
 
    tes t1;
    tes t2(5);
 
    t1.getzn();
    t1.display();
    t2.display();
 
return 0;
};
В учебнике написано цитата:

Создадим объект класса tes в функции main()

tes t1;

Эта строка означает, что t1 будет создан как объект класса tes и инициализирован нулем. Но в классе tes нет конструктора, каким же образом выполняется инициализация? Оказывается, что если мы не определили конструктор производного класса, то будет использоваться подходящий конструктор базового класса. В test конструктор класса tes отсутствует, и компилятор использует конструктор класса test без аргументов.

При компиляции данного примера возникает ошибка связанная вот с этим ( tes t2(5); ).


Но если я все правильно понял из того что написано в учебнике, пример должен работать т.к если обратить внимание на цитату, а именно на ту строчку которую я выделил жирным шрифтом. Мы увидим что если в наследуемом классе нет своего конструктора он обратиться к подходящему конструктору родителя. В конструкторе test у меня определен конструктор с одним параметром но он им почему то не пользуется.



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