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

перегрузка fstream - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Double to String http://www.cyberforum.ru/cpp-beginners/thread810311.html
Здравствуйте.Какая функция переводит формат Double в Ansistring.Пробовал DoubleToStr(); не получается...
C++ Модификаторы signed, unsigned, long, short. Для его эти модификаторы, я проитал нифига не понял. Объясните http://www.cyberforum.ru/cpp-beginners/thread810308.html
C++ Импорт функции __stdcall из DLL
//maindll.cpp: #include <windows.h> extern "C" __declspec(dllexport) void WINAPI foo() { } //main.cpp: #include <iostream> #include <windows.h> #include <tchar.h>
Востановления исходного кода из файла o C++
Здравствуйте. Писал программу, неожиданно компьютер перезагрузился в файл cpp с исходным кодом записалось одни NULL, копий исходного кода не осталось, остался только файл index.o и index.s Возможно ли восстановить исходный код с++ из файлов .o или .s ? Добавлено через 17 часов 19 минут Как сделать обратное преобразование из object code в с++ code?
C++ Использование командной строки http://www.cyberforum.ru/cpp-beginners/thread810299.html
У меня есть файл по адресу D:/Faylik/data.txt и его нужно скопировать с помощью командной строки в файл D:/F/data2.txt . Подскажите, плиз, как это сделать?
C++ Перевод кода из паскаля в c++ Собственно надо перевести этот код из паскаля в c++, чтобы программа выдавала такие же данные и тот же результат. const n=30; m=2; var mas: array of word; popular: array of word; f, p, i, j, k: word; begin randomize; подробнее

Показать сообщение отдельно
Why so seriouS
44 / 44 / 1
Регистрация: 12.03.2013
Сообщений: 167

перегрузка fstream - C++

16.03.2013, 18:46. Просмотров 316. Ответов 2
Метки (Все метки)

Вот пробую перегрузить операторы ввода / вывода с файлами, но почему-то даже не компилирует. Почему?
stack.h
Кликните здесь для просмотра всего текста
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
//STACK.h
#ifndef STACK_H
#define STACK_H
 
#include "Array.h"
#include <iostream>
#include <fstream>
 
class STACK
{
    friend std::ofstream operator<<(std::ofstream &,STACK &);
    friend std::ifstream operator>>(std::ifstream &,STACK &);
public:
    int size() const;
    void push(int);
    void pop();
    bool empty() const;
    int top() const;
    void swap(STACK &);
    STACK operator=(const STACK &);
    bool operator==(const STACK &) const;
    bool operator!=(const STACK &) const;
private:
    Array arr;
};
 
#endif

stack.cpp
Кликните здесь для просмотра всего текста
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
//STACK.cpp
#include "STACK.h"
#include <iostream>
#include <fstream>
 
using namespace std;
 
void STACK::push(int x)
{
    arr.push_back(x);
}
 
void STACK::pop()
{
    arr.pop_back();
}
 
int STACK::top() const
{
    return arr.return_top();
}
 
bool STACK::empty() const
{
    if(arr.size()) return false;
 
    return true;
}
 
int STACK::size() const
{
    return arr.size();
}
 
void STACK::swap(STACK &rhd)
{
    Array tmp;
 
    tmp = arr;
    arr = rhd.arr;
    rhd.arr = tmp;
}
 
STACK STACK::operator=(const STACK &rhd)
{
    if(&rhd != this)
    {
        arr = rhd.arr;
    }
 
    return (*this);
}
 
bool STACK::operator==(const STACK &rhd) const
{
    return arr == rhd.arr;
}
 
bool STACK::operator!=(const STACK &rhd) const
{
    return arr != rhd.arr;
}
 
ofstream operator<<(ofstream &output,STACK &rhd)
{
    for(int i=0;i<rhd.arr.size();i++)
        output << rhd.arr[i];
 
    return output;
}
 
ifstream operator>>(ifstream &input,STACK &rhd)
{
    int tmp;
    for(int i=0;i<rhd.arr.size();i++){
        input >> tmp;
        rhd.arr.push_back(tmp);
    }
 
    return input;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru