Форум программистов, компьютерный форум 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; Вот и весь вопрос. Ничего плохого в этом нет? подробнее

Показать сообщение отдельно
MrCold
851 / 749 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
28.07.2012, 17:43     Класс содержащий объект типа ofstream - не компилится!
Цитата Сообщение от Alberto_Timakov Посмотреть сообщение
конструкторе копирования написать
ИМХО Лучше определить метод(ы) для работы
с файлом

Объекты кл. ofstream, ifstream создавать в main

и передавать в эти методы

Примерчик
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
#include <iostream>
#include <fstream>
 
    class Monstr
    {
        private:
 
           int age;
 
        public:
 
            Monstr() : age ( 0 ){}
            Monstr( int age_ ) : age ( age_ ){}
            ~Monstr(){};
            void fileWork ( std::ofstream & f );
 
    };
 
     void Monstr::fileWork ( std::ofstream & f )
          {
                  f << age << std::endl;
          }
 
 
int main(void)
{
 
   Monstr obj ( 33 );
   Monstr obj2 ( 56 );
 
   std::ofstream out;
   out.open ( "C:\\test.txt"  );
 
   obj.fileWork ( out );
   obj2.fileWork ( out );
 
   out.close();
 
    system("pause");
    return 0;
}
в файле получим
Код
33
56
Цитата Сообщение от Alberto_Timakov Посмотреть сообщение
конструкторе копирования написать
Alberto_Timakov, загляните в ios_base.h и увидите что
конструктор копии и оператор присваивания для класса IOS_BASE
находятся в разделе private

потому
Цитата Сообщение от Toshkarik Посмотреть сообщение
А объекты типа std::ofstream нельзя присваивать через оператор =.
 
Текущее время: 07:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru