Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 2
Регистрация: 06.12.2016
Сообщений: 15
1

Вызов базового конструктора

16.04.2017, 13:20. Просмотров 445. Ответов 2
Метки нет (Все метки)


Такая вот ситуация. Думаю, проблема в объявлении и инициализации массива m[2]. Я бы инициализировал уже в конструкторе, но сначала вызовет конструктор базового класса, а потом инициализирует.
Как правильно передать?

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
# include <iostream>
 
using namespace std;
 
class Lip1 {
    private:
        void fun(string *m) {
            cout << m[0] << endl; // Не выводит "Макс"
        }
    public:
        Lip1(string *arr) {
            cout << arr[0] << endl; // Не выводит "Макс"
            fun(arr);
        }
};
 
class Lip2 : public Lip1 {
    string m[2] = {"Max", "Lena"};
    Lip2() : Lip1(m) { }
};
 
 
int main() {
    
    Lip2 lip();
    
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.04.2017, 13:20
Ответы с готовыми решениями:

Вызов конструктора базового класса
Приветствую всех. Создаю класс-наследник std::string. У базового класса есть конструктор копии:...

Вызов конструктора базового класса
Здравствуйте! Я вот начал изучать C# и немножечко освежил ООП. Но вот у меня вопрос. Я точно помню,...

Вызов конструктора базового класса из порожденного
Есть Базовый класс студент: имеет поля: фамилия, адрес, тел., возраст. Порожденный класс...

Знакомство с наследованием. Вызов конструктора базового класса
В инете немного почиатл про наследование и решил сразу перейти к практике Есть два класа point и...

2
801 / 531 / 157
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
16.04.2017, 13:37 2
Цитата Сообщение от narentie Посмотреть сообщение
Lip2 lip();
это прототип функции
0
0 / 0 / 2
Регистрация: 06.12.2016
Сообщений: 15
16.04.2017, 13:44  [ТС] 3
Ferrari F1, извините, там лишние)
Нельзя уже редактировать)
там без скобок. Простое создание объекта.

Вот так:
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
#include <iostream>
 
using namespace std;
 
class Lip1 {
    private:
        void fun(string *m) {
            cout << m[0] << endl; 
        }
    public:
        Lip1(string *arr) {
            cout << arr[0] << endl;
            fun(arr);
        }
};
 
class Lip2 : public Lip1 {
    public:
        string m[2] = {"Max", "Lena"};
        Lip2() : Lip1(m) { }
};
 
 
int main() {
    
    Lip2 lip;
    
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.04.2017, 13:44

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Вызов конструктора базового класса из класса-наследника
Можно ли вне списка инициализации вызвать конструктор базового класса ? class A { int a;...

Наследование конструктора из базового класса
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;cstring&gt; using namespace std; ...

Инициализация конструктора базового класса
class animal { public: animal(int a):ianimal(a){} protected: int ianimal; }; ...

Инициализация членов производного кл. из конструктора базового кл.
Добрый вечер, уважаемые форумчане! Сразу код; вопрос ниже... #include &lt;iostream&gt; using...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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