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

Есть базовый и производный класс, в базовом определена функция, необходимо её объявить в производном! - C++

Восстановить пароль Регистрация
 
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
19.06.2011, 21:04     Есть базовый и производный класс, в базовом определена функция, необходимо её объявить в производном! #1
Как-то так, что ли:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class x {
 public:
  void f_0 (){};        
};
 
class y: public x {
 public:
  
  //Тут у меня пойдёт объявления разных функций, которые делают то-то и то-то
  
  //А тут хочется написать, что делает функция f_0, но не могу, ибо не компилится сей код! 
  void x::f_0 ();        
};
 
int main(){}
Но не получается. А так-то я пользовался бы классом y и смотрел, что делает в нём каждая из функций, а теперь чтобы посмотреть, что делает функция f_0, я должен лезть в класс x, а он непонятно в каком месте может быть определён и его может быть трудно найти. Помогите, друзья!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2011, 21:04     Есть базовый и производный класс, в базовом определена функция, необходимо её объявить в производном!
Посмотрите здесь:

Базовый класс и производный... C++
Есть производный класс и базовый; при чём производный использует только ЧАСТЬ ресурсов базового, правильно ли это? C++
C++ базовый и производный класс, в базовом объявлена переменная "protected", она недоступна по имени в производном классе! template <class T> воду мутит!
Создать базовый класс Points и производный от него Line C++
Указатели в базовом классе на базовый класс и производный класс C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
19.06.2011, 21:08     Есть базовый и производный класс, в базовом определена функция, необходимо её объявить в производном! #2
базовый класс ничего не может знать о производном
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
19.06.2011, 21:19     Есть базовый и производный класс, в базовом определена функция, необходимо её объявить в производном! #3
kravam, вставьте на это место просто закомментированный код функции из базового класса, если уж очень хочется видеть сам код.
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
19.06.2011, 21:21  [ТС]     Есть базовый и производный класс, в базовом определена функция, необходимо её объявить в производном! #4
Я понимаю, но я это правило никоим образом не нарушаю. Я всего лишь хочу написать объявление уже определённой функции. В общем случае это можно, надеюсь и здесь можно тоже.

Добавлено через 53 секунды
Цитата Сообщение от silent_1991 Посмотреть сообщение
kravam, вставьте на это место просто закомментированный код функции из базового класса, если уж очень хочется видеть сам код.
да вы что ни за что, не хочется мне видеть код! Просто объявление и всё!

Добавлено через 1 минуту
код функции- это три этажа. Да ну его.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
19.06.2011, 21:24     Есть базовый и производный класс, в базовом определена функция, необходимо её объявить в производном! #5
kravam, так объявите эту функцию точно таким же образом, и в теле просто вызывайте функцию базового класса. Т.е. явно выполните то, что компилятор делает неявно.

Добавлено через 1 минуту
Т.е. так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Foo
{
public:
    void func(int a, double b) const;
};
 
class Bar : public Foo
{
public:
    void func(int a, double b) const
    {
        Foo::func(a, b);
    }
};
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
19.06.2011, 21:34  [ТС]     Есть базовый и производный класс, в базовом определена функция, необходимо её объявить в производном! #6
Ну что ж, вариант. Хотя я думал можно как-то проще.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2011, 21:40     Есть базовый и производный класс, в базовом определена функция, необходимо её объявить в производном!
Еще ссылки по теме:

C++ Указатель на базовый класс и на производный
C++ Разработать производный от абстрактного класса Figure класс и класс, производный от производного
C++ В базовом классе вводится символьный массив, а в производном - проверка на максимальную длину строки

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

Или воспользуйтесь поиском по форуму:
silentnuke
Android Programmer
137 / 138 / 5
Регистрация: 08.12.2010
Сообщений: 421
19.06.2011, 21:40     Есть базовый и производный класс, в базовом определена функция, необходимо её объявить в производном! #7
если вы хотите переопределить функцию в дочернем классе, сделайте её виртуальной (virtual)
Yandex
Объявления
19.06.2011, 21:40     Есть базовый и производный класс, в базовом определена функция, необходимо её объявить в производном!
Ответ Создать тему
Опции темы

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