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

Класс содержащий объект типа ofstream - не компилится! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Копирование одного массива в другой http://www.cyberforum.ru/cpp-beginners/thread629940.html
Всем добрый день. Насколько мне известно использование имени массива без индекса образует указатель на первый элемент массива. В программе я кладу в 1 указатель адрес, который лежит в другом указателе. Но получается ошибка. Почему? int first = {0,1,2,3,4,5,6,7,8,9}; int second; second = first // ошибка
C++ Задача по теме карта (map) Условие: Дан файл содержащий в каждой строке фамилию отца и имена детей. Занесите все данные в карту где фамилия является ключом Выведите имена всех детей в отдельный файл через пробел. #include <iostream> #include <fstream> #include <vector> #include <string> #include <map> http://www.cyberforum.ru/cpp-beginners/thread629938.html
C++ Русская справка для VS2010
Справка на английском что делать ? VS2010 Что делать, мне русская нужна. :(
Ввод целых чисел C++
Пользователь вводит целое число, но если введёт символ - программа вылетает. Что можно сделать, чтобы избавиться от данной проблемы? #include "stdafx.h" #include <iostream> using namespace std; int main() { setlocale(LC_ALL, "Rus"); int number ;
C++ Функция main с аргументами http://www.cyberforum.ru/cpp-beginners/thread629895.html
Приветствую, подскажите где именно указывать параметры аргументов(int argc, char **argv), если использовать следующий тип записи int main(int argc, char **argv) { return 0; }
C++ Совместное использование указателей и ссылок int *ptr; int &ref = *ptr; ref = 1; Вот и весь вопрос. Ничего плохого в этом нет? подробнее

Показать сообщение отдельно
Alberto_Timakov
1 / 1 / 0
Регистрация: 21.11.2011
Сообщений: 183
29.07.2012, 10:40  [ТС]     Класс содержащий объект типа ofstream - не компилится!
Цитата Сообщение от MrCold Посмотреть сообщение
Что бы запретить присваивание ;
Познавательно, спасибо!

Так, енто понятно, ну, а если все таки объекты у меня в программе копируются...то что тогда...может можно как-нибудь с указателями?

Я просто пробовал писать вот так:

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
#include <fstream>
 
    class Monstr
    {
        private:
            std::ofstream * out;
        public:
            Monstr(){out = new std::ofstream ("test", std::ios::app | std::ios::out);}
            Monstr(const Monstr &);
            ~Monstr(){*out << "destructor" << std::endl; *out.close(); }
    };
 
    Monstr::Monstr(const Monstr & monstr)
    {
        out = monstr.out;
        *out << "constructor_copy" << std::endl;
    }
 
 
int main(void)
{
    Monstr Y;
    Monstr X(Y);
    system("pause");
    return 0;
}
- Работает, но без delete out в деструкторе ~Monstr(). С delete естественно возникает ошибка из-за повторного освобождения одной и той же области...Без delete это бред, я понимаю, но может можно еще как-то????
 
Текущее время: 13:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru