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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Аня 13
2 / 2 / 0
Регистрация: 27.04.2010
Сообщений: 44
#1

Перегрузка арифметических операций для работы с объектами классов. - C++

13.12.2010, 23:08. Просмотров 1358. Ответов 6
Метки нет (Все метки)

Создать класс Animal, содержащий следующие элементы:
- поле «вес» float Mass;
- поле «пол» char* Sex;
- поле «окрас» char* Color;
- поле «возраст» int Age;
- метод получения веса float GetMass();
- метод получения пола char* GetSex();
- метод получения возраста int GetAge();
- метод получения окраски char* GetColor();
- конструктор с параметрами Animal(float Mass, char* Sex, ,char* Color, int Age);
Задание:
Для соответствующего класса, перегрузить арифметические операции(+,-,*,/). При перезгузке арифметические действия должны выполняться относительно только числовых полей!!!
Создать несколько объектов класса и проинициализировать их с помощью конструктора с параметрами. Создать несколько дополнительных объектов таким образом, чтобы:
- первый объект являлся суммой двух других объектов;
- второй объект являлся разностью двух других объектов;
- третий объект являлся произведением двух других объектов;
- четвертый объект являлся частным двух других объектов;
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2010, 23:08
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Перегрузка арифметических операций для работы с объектами классов. (C++):

Класс Money, перегрузка арифметических операций для работы с денежным форматом - C++
//Ñîçäàéòå êëàññ Money, â êîòîðîì ïåðåãðóçèòå àðèôìåòè÷åñêèå //îïåðàöèè äëÿ ðàáîòû ñ äåíåæíûì ôîðìàòîì. Ïåðåãðóçèòå äâà îïåðàòîðà ...

Перегрузка арифметических операций - C++
Для соответствующего класса, перегрузить арифметические операции(+,-,*,/). При перезгузке арифметические действия должны выполняться...

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

Перегрузка операций для работы с временем - C++
Доброго времени суток. Задача состоит вот в чем. Нужно от одного времени отнять другое время методом перегрузки операции с помощью классов....

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

Вставить между цифрами 1, 2,..., 8, 9 в данном порядке, знак одной из 4-х арифметических операций так, чтобы результат восьми послед-х операций =100 - C++
Вычисления проводятся слева-направо, ни одна операция не имеет приоритета. Добавлено через 2 минуты задача вынесла моск, прошу помочь

6
kravam
быдлокодер
1705 / 892 / 45
Регистрация: 04.06.2008
Сообщений: 5,524
13.12.2010, 23:12 #2
Что такое Animal?
0
Аня 13
2 / 2 / 0
Регистрация: 27.04.2010
Сообщений: 44
13.12.2010, 23:24  [ТС] #3
Animal-это класс.В переводе с англ.-животное.
0
lemegeton
2931 / 1360 / 136
Регистрация: 29.11.2010
Сообщений: 2,725
14.12.2010, 02:36 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Нелепый сюрреализм. Складывать животных по целочисленным параметрам... метр_колючей_проволоки = ёж+уж. Бред.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include <string>
#include <iostream>
 
using namespace std;
 
class Animal
{
    float mass;
    char gender; // у вас только секс на уме
    string color;
    int age;
public:
    Animal(float m, char g, string c, int a)
        : mass(m), gender(g), color(c), age(a) {}
    Animal(const Animal& other)
        : mass(other.GetMass()), gender(other.GetGender()), color(other.GetColor()), age(other.GetAge()) {}
        
    float GetMass() const { return mass; }
    char GetGender() const { return gender; }
    string GetColor() const { return color; }
    int GetAge() const { return age; }
 
    Animal operator= (const Animal& other)
    {
        if (this!=&other)
        {
            mass = other.GetMass();
            gender = other.GetGender();
            color = other.GetColor();
            age = other.GetAge();
        }
        return *this;
    }
 
    Animal operator+ (const Animal& other)
    {
        Animal temp(mass+other.GetMass(), gender, color, age+other.GetAge());
        return temp;
    }
    Animal operator- (const Animal& other)
    {
        Animal temp(mass-other.GetMass(), gender, color, age-other.GetAge());
        return temp;
    }
    Animal operator* (const Animal& other)
    {
        Animal temp(mass*other.GetMass(), gender, color, age*other.GetAge());
        return temp;
    }
    Animal operator/ (const Animal& other)
    {
        Animal temp(mass/other.GetMass(), gender, color, age/other.GetAge());
        return temp;
    }
    
    friend void show(const Animal& a)
    {
        cout << "Gender: " << a.gender << ", mass: " << a.mass << ", color: " 
        << a.color << ", age: " << a.age << "." << endl;
    }
    
    friend void AgeAnimal(Animal& a)
    {
        a.age++;
    }
};
 
int main()
{
        Animal a(5, 'M', "yellow", 4);
        Animal b(2, 'F', "green", 8);
        Animal c(4, 'M', "black", 5);
 
        // кролик складывается с кошкой
        show(a+b);
        // кошковычитание из собаки
        // (монстр с отрицательной массой)
        show(b-a);
 
        AgeAnimal(a);
        // кошки размножаются умножением...
        show(b*c);
        // клетки делятся
        show(c/b);
        return 0;
}
Все три задачи сразу.
3
st_dent
64 / 64 / 3
Регистрация: 05.07.2010
Сообщений: 219
14.12.2010, 02:38 #5
Цитата Сообщение от lemegeton Посмотреть сообщение
Складывать животных по целочисленным параметрам... метр_колючей_проволоки = ёж+уж. Бред.

Не по теме:

где-то это уже было

0
lemegeton
14.12.2010, 02:45
  #6

Не по теме:

меня тоже не покидает ощущение де жа вю. Кто-то уже где-то постил такую задачу.

0
ForEveR
14.12.2010, 03:43     Перегрузка арифметических операций для работы с объектами классов.
  #7

Не по теме:

Полагаю вы про это, камрады
Создать класс Animal

1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2010, 03:43
Привет! Вот еще темы с ответами:

Классы для арифметических операций с большими числами (целые числа более 10 знаков) - C++
C++ ,Классы для арифметических операций с большими числами(целые числа более 10 знаков), и бывают ли стандартные классы поддерживающие...

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

Перегрузка операторов для классов - C++
Определить класс описывающий вектор в пространстве. Для класса перегрузить префиксный унарный оператор. Написать программу в которой...

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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