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

Наследование классов. Конфликт методов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Элементы заданного массива T(k) расположить в обратном порядке: t k,t k-1,.,t2,t1 http://www.cyberforum.ru/cpp-beginners/thread743888.html
Элементы заданного массива T(k) расположить в обратном порядке: t k,t k-1,...,t2,t1. Пожалуйста помогите мне, я начинающий мне срочно нужна помощь по этой задаче
C++ Указатель на неопределенный тип Можете привести пример простой программы с этим указателем void* p; Я что-то не могу придумать с ним можно сделать.. http://www.cyberforum.ru/cpp-beginners/thread743882.html
C++ Дан файл, содержащий текст, записанный
Через с++ нужно сделать такую вот фиговинку : Дан файл, содержащий текст, записанный строчными буквами. Получить в другом файле тот же текст, записанный заглавными буквами.(Чтото на подобии...
Матрицы. Найти A^-1 C++
помогите пожалуйста ) задание: Задано матрицу А как найти A^-1
C++ Что такое магазин? http://www.cyberforum.ru/cpp-beginners/thread743857.html
Подскажите что такое магазин? Как я понял - это что-то типо стека?
C++ Составить функцию (получить информацию о клиентах, которым могут быть предоставлены определенные скидки) Таки я сделал ввод в файл. Но не в текстовый, а в .dat. Главное было вывести все это дело на экран. Теперь мне нужно двигаться дальше. Задача состоит в том, что нужно получить информацию о клиентах,... подробнее

Показать сообщение отдельно
fuzzytoozy
8 / 8 / 1
Регистрация: 23.11.2012
Сообщений: 94
24.12.2012, 03:30  [ТС]
в моей программе нет метода класса Counter с аргументом int. В общем я перезагрузил компьютер и всё скомпилировалось без ошибок и работает =)
А вам спасибо в любом случае.

Добавлено через 5 минут
ан нет. все равно не работает =(

Добавлено через 4 минуты
я не понимаю почему класс

C++
1
2
3
4
5
6
7
8
9
10
class CountDn : public Counter
{
 public:
  CountDn ( ) : Counter ( )
  { }
  CountDn ( int c ) : Counter ( c )
  { }
  CountDn operator-- ( )
  { return CountDn ( --count ); }
};
Объект класса CountDn может пользоваться преспокойно методом инкрементации базового класса и декрементации своего. А класс:

C++
1
2
3
4
5
6
7
8
9
10
11
12
class CounPf : public CountDn
{
 public:
  CounPf ( ) : CountDn ( )
  { }
  CounPf ( int c ) : CountDn ( c )
  { }
  CounPf operator++ ( int notused )
  { return CounPf ( count++ ); }
  CounPf operator-- ( int notused )
  { return CounPf ( count-- ); }
};
не может пользоваться ни методом префиксной инкрементации, ни методом префиксной декрементации. ПО ЧЕ МУ.

Добавлено через 16 минут
в общем суть вопроса такова. Почему метод класса CounPf operator++ ( int notused) перекрывает метод Counter operator++ ( ). Пока существует первый метод, второй метод недоступен. Как только я удаляю метод CounPf operator++ ( int notused) для объектов класса CountPf становится возможным использование метода Counter operator++ (). Пока же присутствует метод CountPf operation++ ( int notused ) работает собственно только он. Судя по всему это конфликт имён, но в если использовать оба метода как методы одного класса, как я привел в примере выше, то всё будет замечательно работать. Так подскажите кто нибудь. Почему же они конфликтуют и как избежать этого и возможно ли это в принципе
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru