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

Перегрузка операторов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не могу объявить массив указателей на объект http://www.cyberforum.ru/cpp-beginners/thread389679.html
Здравствуйте! Такой вопрос. При объявлении массива указателей на объект появляются 3 ошибки. void Cindex::merge(Ckey *A, int l, int m, int r) { int i, j; Ckey *Ax; for(i = m+1; i > l; i--) *Ax = *A; for(j = m; j < r; j++) *Ax = *A; for(int k(l); k <= r; k++) if(Ax->Getoffset() < Ax->Getoffset()) *A = *Ax; else
C++ рестарт как сделать автоматический рестарт программы после окончания ее работы? на примере http://www.cyberforum.ru/cpp-beginners/thread389674.html
Преобразование числа в символ. C++
Здравствуйте, пишу программу перевода числа из Р-ичной системы счисления в Q-ичную. Столкнулся с такой вот проблемкой... При Q<10 все работает корректно, а вот при Q>10 вместо букв A,B,C,D.... выдаются цифры 10, 11, 12, 13.... соответственно, что само по себе естественно. Хочу сделать так: если остаток при целочисленном делении равен 10, 11, 12.... , то вместо цифр выдать на печать (или поместить...
C++ Почему не делит по заданному разделителю k???
#include <string.h> #include <iostream.h> #include <stdio.h> int main() {char st, st1, st2; int i,j,k,s,lenth; cout<<"Vvedite stroky:"<<endl; gets(st); cout<<"Vvedite dliny pervoi podstroki k"<<endl;
C++ R+ дерево. Реализация http://www.cyberforum.ru/cpp-beginners/thread389629.html
Нужно составить минимальную реализацию R+ дерева(поиск, добавление). Может кто помоч? Может кто знает хорошую литературу?
C++ Строки через std::string Дана строка, слова в которой состоят из букв латинского алфавита и десятичных цифр. Остальные символы – разделители между словами. Получить новую строку, выполняя в заданной строке замены по следующему правилу. Все слова, имеющие длину менее 5 символов и состоящие только из цифр, заменяются словами, получаемыми из исходных путём дописывания ведущих нулей до получения длины слова, равной 5. Все... подробнее

Показать сообщение отдельно
shaffle
1 / 1 / 0
Регистрация: 21.11.2010
Сообщений: 85
23.11.2011, 02:03  [ТС]     Перегрузка операторов
блин
всеровно не пойму эту фигню.. самое сложное наверно что я учил)
вот что я написал, и оно выводит мусор..
sum в мейне

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
// BSU012.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <Windows.h>
#include <ctime>
#define size 10
using namespace std;
 
class C_Houses
{
    int _NofH;
    int _Floors;
    int _Flats;
    int _Rooms;
public:
    void setter(int);
    int setter(){int flat=_Flats; return flat;}
    int operator+(C_Houses& ob);
    void getter();
    void calc();
};
 
int C_Houses::operator+(C_Houses& ob)
{
    int sum;
    sum=_Floors+ob._Floors;
    return sum; 
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    srand(unsigned(time(NULL)));
    setlocale(LC_CTYPE,"");
    C_Houses ob[size],a;
    int sum=0;
    for (int i=0; i<size; i++)
    {
        sum+=ob[i]+ob[i+1];
    }
    cout<<sum;
    _getch();
    int search, p,c1=0,c2=0;
    char qw;
    for ( ; ; )
    {
        system("cls");
        for (int i=0; i<size; i++)
        {
            ob[i].setter(i+1);
            ob[i].getter();
            Sleep(25);
        }
        _getch();
        cout<<"Введите значение квартиры, для поиска в каком объекте оно находиться\n";
        cin>>search;
        for (int i=0; i<size; i++)
        {
            if (search==(p=ob[i].setter()))
            {
                c1++;
                cout<<"Вот она! строчка вашей мечты!!\n";
                ob[i].getter();
                cout<<endl;
            }
            else
                c2++;
        }
        if (c2>c1)
        {
            cout<<"Оно не нашло то, чего вы искали :(((\n";
        }
        cout<<"Запустить еще раз? (Y or N)\n";
        cin>>qw;
        switch (qw)
        {
        case 'y':
        case 'Y':break;
        case 'n':
        case 'N': exit(1);
        default : exit(2);
        }
    }
    system("pause");
    return 0;
}
 
void C_Houses::setter(int a)
{
    _NofH=a;
    _Floors=rand()%15+1;
    _Flats=rand()%60+15;
    _Rooms=rand()%360+60;
}
 
void C_Houses::getter()
{
    printf("%d) Этажей: %d; Квартир: %d; Комнат: %d\n",_NofH,_Floors,_Flats,_Rooms);
    int floor=_Floors;
}

в самом начале мейна функция
 
Текущее время: 06:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru