[c++] fstream w main działa w klasie nie

0

mam plik klasa.cpp , w którym mam "dołączone" pliki

#include <iostream>
#include <fstream>
#include "klasa.h"

W pliku klasa.h mam klase, w której w "private" zdefiniowałem sobie strumień

fstream plik;

I kompilator wywala że fstream nie jest typem

Gdy robie to bez klasy to jest wszystko ok
( tzn. tworze strumień np. w main.cpp )
main.cpp

#include<iostream>
#include<fstream>
using namespace std;
int main()
{
     fstream plik;
}
0

Spróbuj tak:

std::fstream plik;
0

A próbowałeś wpisać do pliku klasa.h

#include <fstream>
0

Próbowałem tego i tego

dodanie std:: podziałało cześciowo, bo teraz wypluwa że field plik ma niekompletny typ

0

Ja nie chce używać konstruktora.

Wygląda to tak że w private sobie definiuje fstream plik;
I mam funkcje której przesyłam nazwe pliku i ona go otwiera.

przykład;

class klasa
{
    fstream plik;
public:
   void funkcja(char * nazwa)
{ 
plik.open(nazwa);
plik.close();
}
0
#include <iostream>
#include <fstream>
#include <string>

class klasa
{
    std::fstream plik;

public:

    klasa()
    {}

    void pisz(std::string str)
    {
        plik.open("plik.txt", std::ios::out);

        plik << str;

        plik.close();
    }
};

int main()
{
    using namespace std;

    klasa k;

    k.pisz("test");

}

Masz jeszcze jakieś dziwne problemy?

0

Już wiem co robiłem źle

#include <fstream>

dodawałem do klasa.cpp, a w main nie

0

ty nie wewalaj tego w main, tylko czytaj co ludzie do ciebie piszą! @#[email protected] przecież BAT ci powiedział, żeby do klasa.h wstawić
#include <fstream>

0

Tylko że w klasa.h nie działało !

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0