|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Теоретический вопрос в задаче о классе целых чисел |
|
C/C++ - [решено] Теоретический вопрос в задаче о классе целых чисел
|
Новый участник Сообщения: 14 |
Профиль | Отправить PM | Цитировать
Помогите разобраться:
Создать класс целых чисел (int). Определить оператор + (бинарная операция) как метод и -- (унарная операция) как дружественную функцию. Продемонстрировать работу класса. Я понимаю это должно выглядеть вот так, но немного непонимаю #include "stdafx.h" #include <iostream> using namespace std; class Int { private: int number; public: Int () : number (0) {} Int (int n) number(n) {} Int operator +(Int &n) { number = number + n.number; return number; }; friend Int opearator --(Int &n) { --n.number; return n; } void print() { cout << number << "\n"; } }; int main() { Int n1, n2(4), n3(2); n1 = n2 + n3; n1.print() --n1; n1.print() return 0; } |
|
Отправлено: 02:32, 07-01-2009 |
Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать В чём вопрос? код вам предоставили абсолютно правильный. Хотя ИМХО с точки зрения логики операции + и --, вам дали невтемное задание, + лучше сделать дружественным, а -- методом. Кстати, интересно, как теперь, следуя заданию, будет работать operator--(int) /*постфиксный декремент*/ ?
Разве что здесь бы поправил: |
Отправлено: 12:30, 07-01-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать Что правильно это я заню, я по учебнику делал, вот проблема, в том, что она не работает немогу понять почему?
|
Отправлено: 14:08, 07-01-2009 | #3 |
Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать исправил ошибки в коде:
#include <iostream> using namespace std; class Int { private: int number; public: Int () : number (0) {} Int (int n) : number(n) {} Int operator +(Int &n) { number = number + n.number; return number; }; friend Int operator --(Int &n) { --n.number; return n; } void print() { cout << number << "\n"; } }; int main() { Int n1, n2(4), n3(2); n1 = n2 + n3; n1.print(); --n1; n1.print(); return 0; } |
Отправлено: 01:16, 08-01-2009 | #4 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать Нет вы не правильно поняли, само задание составлял препод именно так как написанно, а сам код пробовал реализовать я, просто имел ввиду, то что идет после класса я писал по книге "Павловской"
|
|
Отправлено: 04:18, 08-01-2009 | #5 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBA - [решено] Отображение больших чисел и приведение типов | DaniilS | Программирование и базы данных | 3 | 23-05-2009 09:58 | |
Route/Bridge - Подключение к инету. Маршрутизация. Теоретический вопрос. | Alexandrovav | Сетевые технологии | 1 | 21-11-2008 10:23 | |
Теоретический вопрос о поиске по сайту | johnny_palec | Вебмастеру | 9 | 15-03-2006 11:20 | |
Создание формы в классе | Guest | Программирование и базы данных | 1 | 01-03-2004 15:53 | |
RJ45 5 кат со вставкой целых двацать штук | ZloiJoker | Сетевые технологии | 6 | 24-12-2003 10:47 |
|