Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Określanie wartości obiektów w innym pliku

Ostatnio zmodyfikowano 2017-10-11 18:20
Autor Wiadomość
zeek918
Temat założony przez niniejszego użytkownika
Określanie wartości obiektów w innym pliku
» 2017-10-11 17:28:00
Witam
Chciałbym zrobić symulator poruszania się po domu w konsoli z tym warunkiem że pokoi może być np. 10, każdy będzie miał swoje id, nazwe pozycji oraz tresc opisujaca wygląd pokoju. Chciałbym to zrobić na tej zasadzie że w pliku main jedynie będę wczytywał określone w innym pliku dane, plik hpp będzie zawierał klase w której będą określone atrybuty klasy a w jeszcze innym pliku każdy pokój będzie miał swoje okreslenie tzn, ze lazienka bedzie miec id=1, nazwe lazienka i tresc= znajduje sie tu duze lustro, tak samo z salonem, kuchnią i innymi pokojami. Problem w tym że nie wiem jak to wszystko ładnie podzielić żeby działało i dało się wszystko wczytać do maina.
Liczę na waszą pomoc

C/C++
//plik main
#include <iostream>
#include "a.hpp"

using namespace std;

int main() {
   
   
    Pomieszczenie korytarz_gl;
    cout << korytarz_gl.tresc << endl;
    return 0;
}

C/C++
//plik hpp
#ifndef a_hpp
#define a_hpp

using namespace std;

class Pomieszczenie
{
public:
   
    int id;
    int id1;
    string pozycja;
    string tresc;
   
    void wybierz_sciezke();
   
};

#endif

C/C++
//plik cpp
#include <iostream>
#include <conio.h>
#include "a.hpp"

using namespace std;

Pomieszczenie korytarz_gl;
korytarz_gl.id = 1;
korytarz_gl.pozycja = "asd";
korytarz_gl.tresc = "asdasdasdasd";
P-165647
YooSy
» 2017-10-11 17:45:09
W plik cpp zdefiniowany jest obiekt korytarz_gl, ale jest on widoczny tylko w tym pliku. Obiekt korytarza powinien być tak zefiniowany w main(), a w plik cpp rozwiń metodę wybierz_sciezke.
P-165648
zeek918
Temat założony przez niniejszego użytkownika
» 2017-10-11 17:47:41
A nie dałoby rady zdefiniować tego korytarza w innym pliku i dołączyć go do maina?:(
P-165649
YooSy
» 2017-10-11 17:58:23
1. Nie ma takiej potrzeby. Zdefiniuj obiekt pomieszczenia za pomocą konstruktora.
2. Korzystanie z
using namespace std;
 w pliku nagłówkowym jest zła praktyką.
3. Zhermetyzuj dane w klasie i udostępnij tylko potrzebny interface.
P-165650
zeek918
Temat założony przez niniejszego użytkownika
» 2017-10-11 18:14:14
Bez
using namespace std;
 nie działa mi string :)
P-165651
YooSy
» 2017-10-11 18:20:31
Niemożliwe. Próbowałeś dopisać std::?

Poszerz wiedzę o klasach i wróć do projektu. Brakuje Ci podstaw i szybko zniechęcisz się niepowodzeniami, bez zrozumienia, jak to działa.
P-165652
« 1 »
  Strona 1 z 1