Форум программистов, компьютерный форум 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++ Работа с экраном в текстовом режиме Пожалуйста подскажите, как сделать вывод всех цветов фона, разделяя цвета паузой. Задание: Дополнить меню функциональной клавишей F6: вывод в окно 1 всех цветов фона, разделяя цвета паузой. На окно нанести рамку. Вот, что у меня только есть: #include <vcl.h> #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <dos.h> #include <windows.h> http://www.cyberforum.ru/cpp-beginners/thread743887.html
C++ указатель на неопределенный тип
Можете привести пример простой программы с этим указателем void* p; Я что-то не могу придумать с ним можно сделать..
C++ Дан файл, содержащий текст, записанный
Через с++ нужно сделать такую вот фиговинку : Дан файл, содержащий текст, записанный строчными буквами. Получить в другом файле тот же текст, записанный заглавными буквами.(Чтото на подобии создать программу которая будет иметь связь с блокнотом)
C++ Матрицы. Найти A^-1 http://www.cyberforum.ru/cpp-beginners/thread743863.html
помогите пожалуйста ) задание: Задано матрицу А как найти A^-1
C++ Что такое магазин? Подскажите что такое магазин? Как я понял - это что-то типо стека? подробнее

Показать сообщение отдельно
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 ) работает собственно только он. Судя по всему это конфликт имён, но в если использовать оба метода как методы одного класса, как я привел в примере выше, то всё будет замечательно работать. Так подскажите кто нибудь. Почему же они конфликтуют и как избежать этого и возможно ли это в принципе
 
Текущее время: 04:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru