Форум программистов, компьютерный форум 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
28.07.2012, 14:03     Класс содержащий объект типа ofstream - не компилится!
Здравствуйте! Помогите пожалуйста!=)

есть код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <fstream>
 
    class Monstr
    {
        private:
            std::ofstream out;
        public:
            Monstr() : out("test", std::ios::app | std::ios::out){}
            ~Monstr();
    };
 
 
int main(void)
{
    Monstr Y;
    Monstr X(Y);
    system("pause");
    return 0;
}
есть ошибка:

1>c:\program files\microsoft visual studio 10.0\vc\include\ostream(604): error C2249: std::basic_ios<_Elem,_Traits>::operator =: нет доступного пути к private член, объявленному в виртуальном базовом классе "std::basic_ios<_Elem,_Traits>"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files\microsoft visual studio 10.0\vc\include\ios(177): см. объявление "std::basic_ios<_Elem,_Traits>::operator ="
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> Сообщение диагностики возникло в созданной компилятором функции "std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator =(const std::basic_ostream<_Elem,_Traits> &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1>


Почему?

Добавлено через 5 минут
И если размещают объекты класса [i/o]fstream в классе, то как? Или что-то в конструкторе копирования для этого делают обычно? И еще, как вернуть имя файла, на который ссылается объект класса [i/o]fstream. Т.е.

ofstream out1("test");
ofstream out2(out.вернуть_имя_файла);?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru