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

Перегрузка методов класса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ динамический список http://www.cyberforum.ru/cpp-beginners/thread915129.html
вот начал разбираться с динамическими списками, объясните что на так делаю. спасибо #include <iostream> using namespace std; struct Node { public: int info; Node* next; public: Node(int i): info=i
C++ В цехе установлено 15 единиц оборудования, каждое из которых отработало срок (от 5 до 15 лет), известна стоимость каждой единицы оборудования Помогите пожалуйста с задачкой В цехе установлено 15 единиц оборудования, каждое из которых отработало срок (от 5 до 15 лет), известна стоимость каждой единицы оборудования. Определить суммарную стоимость, количество единиц оборудования, что работало более 10лет, и его стоимость. http://www.cyberforum.ru/cpp-beginners/thread915126.html
C++ Дано одномерный массив В, состоящий из 12 элементов. Вычислить произведение элементов массива, не равны нулю, значения которых наход. в пределах А и С
Помогите пожалуйста с задачкой Дано одномерный массив В, состоящий из 12 элементов. Вычислить произведение элементов массива, не равны нулю, значения которых находятся в пределах А <B (I) <С, и их количество. Значение А и С вывести с клавиатуры.
Связь между потомками класса C++
Здравствуйте! У меня проблема: имеется класс, и у него есть 2 класса-потомки. Мне нужно с экземпляра первого класса-потомка получить доступ к переменным другого класса-потомка. Как это можно сделать?
C++ Строки. Как найти в слове первый элемент? Второй элемент, последний элемент? http://www.cyberforum.ru/cpp-beginners/thread915055.html
как найти в слове первый элемент?Второй элемент,последний элемент.С помощью каких операторов это делается??
C++ Сумма первых членов последовательности Здравствуйте! Помогите пожалуйста...у меня считает суму всей последовательности, а мне нужно только первых чисел Задание. Пользователь вводит натуральное число n. Программа рассчитывает и выводит на экран сумму первых n членов последовательности #include <iostream> using namespace std; int main() { setlocale(0,""); подробнее

Показать сообщение отдельно
EgorNsk
0 / 0 / 0
Регистрация: 30.06.2013
Сообщений: 2
30.06.2013, 17:03     Перегрузка методов класса
Проблема заключается в следующем я не получается правильно сделать задание.
Задание:"Для класса реализовать набор операций для работы с объектами класса: сложение, инкремент постфиксный и префиксный, преобразование к разным типам. Операции сложения, инкремента, преобразования реализовать как методы класса. Изменить демонстрационную пpогpамму, продемострировав все перегруженные операции."
Класс я написал с различными методами, а с перегрузкой всё не могу справиться.
Это класс
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
#include<stdio.h>
#include<conio.h>
#include<iostream>
#include<math.h>
using namespace std; 
 
class forma
    {
        int shir,dl,shirina;
        int dlina;
        char *color;    
    public:
        forma(forma &a);
        forma();
        forma(int shir2,int dl2,char *color2);
        forma(int shirr, int dlinn);
        ~forma();
        int S ();
        int P ();
        int Dlin();
        int Shirn();
        void Show_Clor();
        void operator +(int);
        void operator ++();
        void operator -(float );
    
};
Это методы
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
#include "333.h"
 
forma::forma(forma &a)
{
    color=new char[strlen(a.color)+1];
    strcpy(color,a.color);
    cout<<"construct copy"<<endl;
}
 
 forma::forma()
{   color=NULL;
    cout<<"construct po umol4aniy"<<endl;
}
forma::forma(int shir2, int dl2, char *color2)
{           
    shir = shir2;   
    dl = dl2;   
    color=new char[strlen (color2)+1];
    strcpy(color,color2);
    cout<<"construct"<<endl;
    
}
 
int forma::S()
{
    int x=shir*dl;
    return x;   
}
int forma::P()
{
    int y=2*(dl+shir);
    return y;
}
void forma::Show_Clor()
{
    cout<<"Длина= "<<dl<<endl;
    cout<<"Ширина= "<<shir<<endl;
    cout<<"Цвет= "<<color<<endl;
    
}
forma::~forma()
{
    if (color!=NULL)
    delete color;
    cout<<"destruct"<<endl;
}
forma::forma(int shirr, int dlinn)
{
    shirina=shirr;
    dlina=dlinn;
}
void forma::operator +(int forma)
{
    shir+shirina;
}
Это main
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
#include "333.h"
 
int main()
{
setlocale( LC_CTYPE,"Rus" );
    int sh, sh2;
    int dll;
    float dll2;
    char clr[10];   
    cout << "Введите длину: ";
    cin >>dll;
    cout << "Введите ширину: ";
    cin >>sh;
    cout << "Введите цвет: ";
    cin >> clr;
    cout<<"Введите ширину 2 прямоугольника: ";
    cin>>sh2;
    cout<<"Введите длину 2 прямоугольника: ";
    cin>>dll2;
    forma two(sh2,dll2);
    forma small;
    forma big(sh,dll,clr);
    forma copy(big);
    cout<<"S="<<big.S()<<endl;
    cout<<"P="<<big.P()<<endl;
    big.Show_Clor();
        
}
Заранее спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 05:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru