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

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

Войти
Регистрация
Восстановить пароль
 
xam max
3 / 3 / 0
Регистрация: 27.09.2009
Сообщений: 200
#1

Проблемы с перегрузкой - C++

30.10.2011, 12:46. Просмотров 349. Ответов 4
Метки нет (Все метки)

Доброго времени суток. Собственно у меня следущая проблема. Создаю класс динамических одномерных массивов:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class massiv
{
public:
    massiv();
    massiv(int c);
    bool find(int number,int k);
    ~massiv();
    int getcount(){return count;};
    void output();
protected:
    int* mass;
    int count;
};
в нем есть функция вывода:
C++
1
2
3
4
5
6
void massiv::output()
{
    for(int i=0;i<count;i++)
        cout<<mass[i]<<" ";
    cout<<"\n";
}
потом создаю класс наследник который создает массив вместе с его копией:
C++
1
2
3
4
5
6
7
8
9
10
class copymassiv:public massiv
{
public:
    copymassiv();
    copymassiv(int c);
    ~copymassiv();
    void output(int);
private:
    int* copymass;
};
в котором функция вывода определена следующим образом:
C++
1
2
3
4
5
6
void copymassiv::output(int)
{
    for(int i=0;i<count;i++)
        cout<<copymass[i]<<" ";
    cout<<"\n";
}
я так понимаю эта функция вывода будет перегружена, а функция вывода из предка наследуется, но почему то в функции main когда я делаю следующий вывод :
C++
1
2
backup.output(1);
           backup.output();
компилятор ругается на backup.output(), она же должна наследоваться???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2011, 12:46     Проблемы с перегрузкой
Посмотрите здесь:

Проблемы с перегрузкой операторов файлового вводы/вывода - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; using namespace std; class Array{ int...

ошибка с перегрузкой операции - C++
Долго сижу и никак не могу понять в чём ошибка. Вот 3 файла. Они подключены правильно и работают. #include &lt;iostream&gt; #include...

Помогите с перегрузкой операций. - C++
Створити динамічний клас для роботи з рядками. Максимальна довжина послідовності – 254. Перший байт повинен містити інформацію про фактичну...

Указатель на функцию с перегрузкой - C++
Мне нужно передать указатель на функцию. Повидимому потребуется перегрузка функций, поскольку они в разных форматах. Передаваемые...

Работа с перегрузкой сложения - C++
Ребята суть задачки в фото , помогите пожалуйста .

Ошибка с перегрузкой pow - C++
error C2668: 'pow' : ambiguous call to overloaded function #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;math.h&gt; using...

Ошибка с перегрузкой операторов - C++
копилятор видимо тупит или я туплю или автор книги class countt{ public: int getvar()const{return itsvar;} void setvar(int...

программа(наверно с перегрузкой что то) - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string.h&gt; using namespace std; class card { friend istream&amp; operator &gt;&gt;...

Потоковый вывод массива с перегрузкой - C++
Шаблонный класс Array может хранить объекты любого типа, для которого определён конструктор копирования, в том числе и другой Array,...

Добавление и удаление объектов с перегрузкой операторов '+' и '-' - C++
У нас есть массив указателей на объекты, и нужно осуществить добавление и удаление объектов с помощью перегрузки оперторов '+' и '-'. ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sandye51
программист С++
681 / 583 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
30.10.2011, 13:14     Проблемы с перегрузкой #2
Цитата Сообщение от xam max Посмотреть сообщение
void output(int);
и
Цитата Сообщение от xam max Посмотреть сообщение
void output();
это разные функции. Должно быть одинаковым не только название, но и аргументы функции
xam max
3 / 3 / 0
Регистрация: 27.09.2009
Сообщений: 200
30.10.2011, 13:24  [ТС]     Проблемы с перегрузкой #3
Так вот именно что, получается что функция output() должна тогда наследоваться поскольку она не переопределена, а она не наследуется.
sandye51
программист С++
681 / 583 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
30.10.2011, 13:44     Проблемы с перегрузкой #4
приведи полный код
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
30.10.2011, 13:59     Проблемы с перегрузкой #5
Попробуйте добавить в класс copymassiv функцию
C++
1
2
3
4
void copymassiv::output()
{
    massiv::output();
}
Добавлено через 4 минуты
Цитата Сообщение от xam max Посмотреть сообщение
я так понимаю эта функция вывода будет перегружена, а функция вывода из предка наследуется, но почему то
Если не изменяет память, функция в производном классе закрывает все перегруженные функции из базового.
Yandex
Объявления
30.10.2011, 13:59     Проблемы с перегрузкой
Ответ Создать тему
Опции темы

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