Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2008, 16:17   #11
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Ой, извините перепутал все!!!
Вот перегрузка ++
Код:
//Прототип
Krug operator++(int);
//Реализация
Krug operator++()
{
	int tmpRadius=0;
	tmpRadius=this->r;
	tmpRadius=tmpRadius+1;
	this->r=tmpRadius;
	return *this;
}
А вот унарная -- как дружественная функция
Код:
//Прототип
friend Krug operator--(Krug &, int);
//Реализация
Krug operator--(Krug &T)
{
	int tmpRadius=0;
	tmpRadius=T.r;
	tmpRadius=tmpRadius-1;
	T.r=tmpRadius;
	return T;
}
Int-параметры в функциях используются для определения префиксной и постфиксной форм инкремента/декремента.

To still_alive
Спасибо что поправил, так бы дезинформацию человеку толкнул
Насчет виртуальных функций. Они как раз в теме. Потому что нужно чтобы выводились все параметры объекта. А у кольца параметров на 1 больше. Так что нужно или делать свою функцию (не устраивает по заданию), или делать виртуальную. Никакой проблемы я тут не вижу. Даже более понятно будет.

Последний раз редактировалось MaTBeu; 31.05.2008 в 16:19.
MaTBeu вне форума Ответить с цитированием
Старый 31.05.2008, 16:45   #12
still_alive
Great Code Monkey
Форумчанин
 
Аватар для still_alive
 
Регистрация: 09.08.2007
Сообщений: 533
По умолчанию

Цитата:
Спасибо что поправил, так бы дезинформацию человеку толкнул
Еще не всё)
Префиксный и постфиксный операторы надо определять и объявлять отдельно. Потому что они отличаются. Префиксный должен возвращать ссылку, а постфиксный const. В префиксном надо изменить объект и вернуть его. В постфиксном же создать новый объект, изменить текущий и затем вернуть новый.

Цитата:
Так что нужно или делать свою функцию (не устраивает по заданию)
Устраивает. Вот точная формулировка:
Цитата:
Вывести данные на экран с использованием метода базового класса.
void CRing::showData()
{
CCircle::showData(); // тут и использую
std::cout << r2 << " ";
}

А вот где ты в виртуальных ф-ях используешь метод базового класса, мне непонятно )
still_alive вне форума Ответить с цитированием
Старый 31.05.2008, 19:37   #13
Lioness
Пользователь
 
Аватар для Lioness
 
Регистрация: 03.01.2008
Сообщений: 20
По умолчанию

За помощь и примеры - всем спасибо большое!))

MaTBeu, учла, поправила)))

still_alive
мне не совсем понятно это:
Код:
void CCircle::showData()   
{  
    std::cout << x << " " << y << " " << r << " ";
что значит последняя строка?

Последний раз редактировалось Lioness; 31.05.2008 в 19:46.
Lioness вне форума Ответить с цитированием
Старый 31.05.2008, 20:14   #14
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

Последняя строка выводит на экран координаты центра и радиус.
cout<<переменная - выводит на экран значение переменой;
std::cout<< - обращение к cout с помощью уточненного имени. Уточняем тут, что cout берется из стандартного пространства имен(std). Это чтоб не писать в начале программы using namespace std;
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Старый 31.05.2008, 23:51   #15
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

To still_alive
Ладно, натупил. Не хочу докапываться до всех подробностей. Я знаю то, что знаю. Если мне понадобится необходимая для разработки инфа, я возьму книгу и прочитаю. Да и ТС, я думаю не сильно горит желанием узнать всю подноготную перегрузки префиксных и постфиксных инкрементов/декрементов. Попросили помочь. Помогли. Все, не стоит переходить на тему "А я больше тебя знаю, так что ты лох". Это лишнее.

Последний раз редактировалось MaTBeu; 31.05.2008 в 23:54.
MaTBeu вне форума Ответить с цитированием
Старый 01.06.2008, 11:42   #16
still_alive
Great Code Monkey
Форумчанин
 
Аватар для still_alive
 
Регистрация: 09.08.2007
Сообщений: 533
По умолчанию

Цитата:
Это чтоб не писать в начале программы using namespace std;
Засорять пр-во имен не очень хорошо.

Цитата:
Все, не стоит переходить на тему "А я больше тебя знаю, так что ты лох".
А я этого нигде и не говорил) В каждом посте я просто указывал на ошибки и неточности, это разве плохо?
still_alive вне форума Ответить с цитированием
Старый 01.06.2008, 12:16   #17
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Ты бы вместо того, чтобы мои ошибки исправлять, свое что-то стоящее написал бы. Тогда у ТС была бы возможность хоть что-то понять. А так ты все только больше запутал.

То модератор:
Я думаю тему можно того... ну эээ, рубать короче. А то утонет она в море флуда.
MaTBeu вне форума Ответить с цитированием
Старый 02.06.2008, 10:24   #18
Lioness
Пользователь
 
Аватар для Lioness
 
Регистрация: 03.01.2008
Сообщений: 20
По умолчанию

Цитата:
Сообщение от ACE Valery Посмотреть сообщение
Последняя строка выводит на экран координаты центра и радиус.
cout<<переменная - выводит на экран значение переменой;
std::cout<< - обращение к cout с помощью уточненного имени. Уточняем тут, что cout берется из стандартного пространства имен(std). Это чтоб не писать в начале программы using namespace std;
а нельзя выводить с помощью printf?
Lioness вне форума Ответить с цитированием
Старый 02.06.2008, 20:44   #19
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Конечно можно. Просто это вопрос стиля программирования. В данной программе это особой роли не играет.
MaTBeu вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одиночное наследование Виртуальные функции Brunette Помощь студентам 3 08.05.2008 19:23
Наследование: абстрактный класс zak Общие вопросы C/C++ 4 22.12.2007 13:49
Конструктор запросов kaa БД в Delphi 12 20.12.2006 16:45