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

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

Войти
Регистрация
Восстановить пароль
 
kravam
быдлокодер
1691 / 878 / 44
Регистрация: 04.06.2008
Сообщений: 5,424
#1

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

19.06.2011, 21:04. Просмотров 564. Ответов 6
Метки нет (Все метки)

Как-то так, что ли:
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++
Почему при компилляции производный класс не учитывает данные, введенные в базовом? #include <iostream> using namespace std; ...

Указатель на базовый класс и на производный - C++
Пытаюсь разобраться с классами и наследованием. Сама эта задача из Дейтела "Как программировать на C++" Есть базовый класс Точка и у...

Создать базовый класс Points и производный от него Line - C++
Создать базовый класс Points и производный от него Line. Создать динамический массив указателей на объекты класса Line и нарисовать их в...

В базовом классе вводится символьный массив, а в производном - проверка на максимальную длину строки - C++
Здравствуйте. Помогите найти ошибку при наследовании класса. Есть такая проблема - в базовом классе вводится символьный массив, а в...

Как объявить функцию, которая имеет место быть только в некоторых дочерних классах, а базовый класс абстрактный? - C++
Как объявить функцию, которая имеет место быть только в некоторых дочерних классах? Например //Абстрактный базовый класс ...

Базовый класс цветы, производный тля, условие: тля уничтожает красные цветы - C++
Базовый класс цветы, производный тля, условие:тля уничтожает красные цветы.

Организовать производный класс, содержащий функции вычисления сложения и вычитания дробей, исходники есть - C++
проблема в нехватке опыта в программировании, программу с быделением целой части из дроби я слобал. #include <iostream> #include...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
19.06.2011, 21:08     Есть базовый и производный класс, в базовом определена функция, необходимо её объявить в производном! #2
базовый класс ничего не может знать о производном
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
19.06.2011, 21:19     Есть базовый и производный класс, в базовом определена функция, необходимо её объявить в производном! #3
kravam, вставьте на это место просто закомментированный код функции из базового класса, если уж очень хочется видеть сам код.
kravam
быдлокодер
1691 / 878 / 44
Регистрация: 04.06.2008
Сообщений: 5,424
19.06.2011, 21:21  [ТС]     Есть базовый и производный класс, в базовом определена функция, необходимо её объявить в производном! #4
Я понимаю, но я это правило никоим образом не нарушаю. Я всего лишь хочу написать объявление уже определённой функции. В общем случае это можно, надеюсь и здесь можно тоже.

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

Добавлено через 1 минуту
код функции- это три этажа. Да ну его.
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 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
быдлокодер
1691 / 878 / 44
Регистрация: 04.06.2008
Сообщений: 5,424
19.06.2011, 21:34  [ТС]     Есть базовый и производный класс, в базовом определена функция, необходимо её объявить в производном! #6
Ну что ж, вариант. Хотя я думал можно как-то проще.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2011, 21:40     Есть базовый и производный класс, в базовом определена функция, необходимо её объявить в производном!
Еще ссылки по теме:

Базовый и производный классы, ошибка компиляции - C++
Устанавливаю count, пишу include и все равно показывает ошибку class A { protected: int a; public: A(int ax) { ...

Задача (разъяснение) в алгоритм (программа, используя базовый и производный классы, создавала массив объектов типа производного класса) - C++
Задача на наследование классов, базовый класс - "люди", производный - "студенты"...как я понял, а базовом надо создать символьную матрицу в...

производный класс - C++
Помогите пожалуйста!!! Не получается сделать задание. Нужно определить производный класс к вспомогательному классу по заданию. В...

производный класс - C++
Помогите пожалуйста!!! имеется класс Triangle выполняющий операции с треугольниками. Задание: нужно образовать производный класс...

создать производный класс - C++
Нужно создать динимический массив целых чисел с произвольными (включая и отрицательные) пределами. Использовать виртуальную функцию Как...


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

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

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