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

overload функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Обработка ошибок http://www.cyberforum.ru/cpp-beginners/thread259955.html
while (1) { sh *newelem; newelem=new sh; cout<<"Write number of the car"<<"\n"; s=getch(); if (s=='*') return; cin>>newelem->number; cout<<"Write the size of the...
C++ как создать n-мерный массив, заполнив данными из данного файла Здравствуйте, уважаемые Гуру C++. Начал изучать C++, но некоторые вещи, после php, кажутся весьма странными. Например, не могу разобраться со следующей задачей: Имеется файл данных, в котором... http://www.cyberforum.ru/cpp-beginners/thread259947.html
C++ Создание шаблона функции
Пожалуйста помогите решить задачу, что то сам никак не могу сообразить((( вот текст: Описать шаблон функции, которая считает сумму элементов главной диагонали матрицы.
C++ Создание динамических DLL в С++ 5.5
Что бы создать длл сделал батник который запускает bcc32.exe. Но не могу разобраться какую команду нужно прописать чтобы скомпилировать длл, вот какой bat я сделал: rem Файл make_gui.bat rem...
C++ Массив(запутался) http://www.cyberforum.ru/cpp-beginners/thread259940.html
Знаю правила, прошу помощи. " Пример массива и дополнительных переменных приведены ниже: { 1.2, -1.8, -4.5, 8.5, -0.1, -0.9, 9.7, -9.8, 0.2, 3.5, 5.7, -3.8, -6.0, 4.2, 4.3, -5.1} a=0 ...
C++ массив в одномерном массиве, состоящем из n вещественных элементов вычислить: 1) номер минимального элемента массива 2) сумму элементов массива,расположенных между первым и вторым отрицательными... подробнее

Показать сообщение отдельно
azaron
0 / 0 / 0
Регистрация: 21.12.2010
Сообщений: 14

overload функции - C++

19.03.2011, 00:15. Просмотров 594. Ответов 2
Метки (Все метки)

єсть клас оверлоадових опрераторов, но никак не виходит вивести то что они делают на екран..

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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
//main.cpp
#include "HugeInt.h"
#include <conio.h>
#include <time.h>
 
int main()
{
    srand(time(NULL));
    HugeInt a(5);
    a.Rindomize(5);
 
    HugeInt b(7);
    b.Rindomize(5);
 
    HugeInt c;
    
    cout<<a;
    
    getch();
    return 0;
}
 
//HugeInt.h
#include <iostream>
#include <stdlib.h>
using namespace std;
class HugeInt
{
    int*ptr;
    int size;
public:
    HugeInt(int s=10);
    HugeInt(HugeInt &arr);
    virtual~HugeInt();
 
    void Rindomize(int num = 10);
    HugeInt &operator-(HugeInt &arr);
    HugeInt &operator= (HugeInt &arr);
    HugeInt &operator-=(HugeInt &arr);
    bool HugeInt::operator> (HugeInt& arr);
 
};
 //HugeInt.cpp
#include "HugeInt.h"
 
 HugeInt::HugeInt(int s)
{
    size = s;
    ptr = new int[size];
    for(int i = 0; i < size; i++)
    {
        ptr[i] = 0;
    }
    cout << "Constructor" << endl;
}
//--------------------------------------------------------------------------------
HugeInt::HugeInt(HugeInt& arr)
{ 
    size = arr.size;
    ptr = new int[size];
    for(int i = 0; i < size; i++)
    {
        ptr[i] = arr.ptr[i];
        
    }
    cout << "Copy Constructor" << endl;
}
//--------------------------------------------------------------------------------
HugeInt::~HugeInt()
{
    delete[] ptr;
    cout << "Destructor" << endl;
}
//--------------------------------------------------------------------------------
void HugeInt::Rindomize(int num)
{   
    for(int i = 0; i < size; i++)
    {
        ptr[i] = rand() % num;
    }   
}
//--------------------------------------------------------------------------------
HugeInt& HugeInt::operator-(HugeInt& arr) 
{
    int mins = (size < arr.size) ? size : arr.size;     
    HugeInt temp;
    if(mins == arr.size)
    {
        temp = *this;
        for(int i = 0; i < mins; i++)
        {       
            temp.ptr[i] -= arr.ptr[i];
        }
    }
    else
    {   
        temp = arr;
        for(int i = 0; i < mins; i++)
        {       
            temp.ptr[i] -= ptr[i];
        }       
    }
    cout << "Operator -" << endl;
    return temp;
}
//--------------------------------------------------------------------------------
HugeInt&HugeInt::operator= (HugeInt& arr)
{
    if(this != &arr)
    {
        delete[] ptr;
        size = arr.size;
        ptr = new int[size];
        for(int i = 0; i < size; i++)
        {
            ptr[i] = arr.ptr[i];
        }
    }
    cout << "Operator =" << endl;
    return *this;
}
//--------------------------------------------------------------------------------
HugeInt& HugeInt::operator-= (HugeInt& arr)
{
    HugeInt temp;
    temp = *this - arr;
    *this = temp;
    return *this;
}
//--------------------------------------------------------------------------------
bool HugeInt::operator> (HugeInt& arr)
{
        bool result = false;
        if (this->size > arr.size) {
                result = true;
        } else if (this->size == arr.size) {
                for(int i = 0; i < arr.size; i++)
                {       
                                if (this->ptr[i] > arr.ptr[i]) {
                                        result = true;
                                        break;
                                } else if (this->ptr[i] < arr.ptr[i]){
                                        result = false;
                                        break;
                                } else {
                                        result = false;
                                }
                }
        }else{
                result = false;
        }
        return result;
}
просто надо штото з main.cpp зделать пусть будет вивод етих функций, ибо cout<<a; не канаєт
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru