Форум программистов, компьютерный форум 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
13.06.2014, 02:00  [ТС]     Наследование классов: неудачный пример из Лафоре
Почитал я там дальше и вроде как стало более понятно, если я правильно понял то....


Конструкторы в наследуемом классе создаются для того чтобы вызвать соответствующий конструктор базового класса и инициализировать его значение. В данном случае инициализировать number


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
class A
{
protected:
    int number;
public:
    A() :number(0)      //конструктор без аргументов
    {};
 
    A(int n) :number(n)      //конструктор с одним аргументом
    {};
 
    void displ()const        //вывод значения на экран
    {
        cout << number << endl;
    };
};
 
 
class B : public A
{
public:
    B() :A()           //вызов конструктора без аргументов
    {};
 
    B(int x) :A(x)      //вызов конструктора с одним аргументом
    {};
 
    void increase()
    {
        ++number;
    };
};
 
int main()
{
 
    B t1;
    B t2(10);
 
    t1.displ();
    t2.displ();
 
    return 0;
};
Добавлено через 10 минут
Но с другой стороны зачем мучиться с конструкторами если того же результата можно добиться с помощью обычной функции.

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
class A
{
protected:
    int number;
public:
    A() :number(0)      //конструктор без аргументов
    {};
 
    void displ()const        //вывод значения на экран
    {
        cout << number << endl;
    };
};
 
class B : public A
{
public:
    void getZN(int x)
    {
        number=x;
    };
};
 
int main()
{
 
    B t1;
    B t2;
    t2.getZN(10);
 
    t1.displ();
    t2.displ();
 
    return 0;
};
 
Текущее время: 09:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru