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

Problem z dzielniem programu na pliki hpp i cpp.

Ostatnio zmodyfikowano 2012-11-03 20:55
Autor Wiadomość
Xender
Temat założony przez niniejszego użytkownika
Problem z dzielniem programu na pliki hpp i cpp.
» 2012-11-03 17:14:03
Oto poszczególne pliki:

EDIT:
Przepraszam, zapomniałem opisać o co chodzi :P
Sytuacja wygląda tak, dziele program na pliki hpp i cpp wydaję mi się ze powinno być dobrze ale nie jest ;/
Wywala błąd za błędem, a gdy wszystko jest w jednym pliku to działa poprawnie, zatem zakładam że robię coś źle przy dzieleniu ale nie wiem co?


C/C++
#include <cstdlib>
#include <iostream>
#include <string>
#include "Adres.hpp"
#include "Student.hpp"

using namespace std;

int main()
{
    adres adres1( "kolorowa", "15/a" );
    adres adres1_zameldowanie( "szarobura", "3/4L" );
    student student1( "Michal", "trololo", "12345678" );
    student1.wpisz_adr( & adres1, & adres1_zameldowanie );
    student1.dane();
   
    return 0;
    system( "pause" );
   
}



C/C++
#ifndef Student.hpp
#define Student.hpp
using namespace std;
class student
{
    //dane
private:
    string imie;
    string nazwisko;
    string pesel;
    adres * adr;
    adres * adr_zameld;
   
   
public:
    //metoda zwracajaca dane
    void dane();
   
    //metoda ustawiająca wskaznik adr na odpowiedni obiekt przechowuajcy adres
   
    void wpisz_adr( adres * wsk_zamieszk, adres * wsk_zameld );
   
    //konstruktor bez parametrowy
    student();
   
    //konstruktor parametrowy
    student( string im, string nazwi, string pes );
   
};
#endif

C/C++
#include "Student.hpp"
//metoda zwracajaca dane
void Student::dane()
{
    cout << endl << endl << "imie: " << imie << endl << "nazwisko: " << nazwisko << endl << "pesel: " << pesel << endl << "adres zamieszkania: "; adr->pokaz_adres();
    cout << endl << "adres zameldowania: "; adr_zameld->pokaz_adres(); cout << endl << endl;
}

//metoda ustawiająca wskaznik adr na odpowiedni obiekt przechowuajcy adres
void Student::wpisz_adr( adres * wsk_zamieszk, adres * wsk_zameld )
{
    adr = wsk_zamieszk;
    adr_zameld = wsk_zameld;
}

//konstruktor bez parametrowy
Student::student()
{
    cout << endl << "Konstruktor bez parametrowy zostal wywolany" << endl;
}

//konstruktor parametrowy
Student::student( string im, string nazwi, string pes )
{
    //nadawanie wartosci polom konstruowanego obiektu
    imie = im;
    nazwisko = nazwi;
    pesel = pes;
    cout << endl << "Konstruktor parametrowy zostal wywolany" << endl;
}

C/C++
#include "Adres.hpp"
//konstuktor ustawiajacy adres
Adres::adres( string adr, string nr )
{
    ulica = adr;
    numer_domu = nr;
}
void Adres::pokaz_adres()
{
    cout << ulica << " " << numer_domu << " ";
}

C/C++
#ifndef Adres.hpp
#define Adres.hpp
class adres
{
private:
    string ulica;
    string numer_domu;
   
public:
    //konstuktor ustawiajacy adres
    adres( string adr, string nr )
   
   
    void pokaz_adres()
};
#endif
P-68353
Mrovqa
» 2012-11-03 17:34:47
Dałeś nam Twoje pliki i co dalej? Widzę, że trochę Ci spieszno :) Nawet nie napisałeś w czym problem.
P-68356
Xender
Temat założony przez niniejszego użytkownika
» 2012-11-03 17:40:44
Już wyjaśniłem ;P
P-68357
Mrovqa
» 2012-11-03 18:10:49
Wywala błąd za błędem, a gdy wszystko jest w jednym pliku to działa poprawnie, zatem zakładam że robię coś źle przy dzieleniu ale nie wiem co?
Jeśli prosisz o pomoc, to zawsze dorzucaj logi błędów - łatwiej jest pomóc :)
P-68361
OSA_PL
» 2012-11-03 18:21:22
C/C++
#ifndef Student.hpp
#define Student.hpp

Zamiast kropek daj "_" + nie includujesz bibliotek.
P-68367
tirou
» 2012-11-03 19:20:58
Lub jeżeli korzystasz z Code Blocksa to headery np tworzy ci w oddzielnych folderach.

Spróbuj pokombinować jakos tak:

C/C++
#include "../Adres.hpp"
#include "../Student.hpp"

jeżeli wiesz co to
../
oznacza ;p

A w pliku głownym mam klasy tak umieszczone:

C/C++
#include "include/pracownik.h"
#include "include/pochodna.h"
P-68376
DejaVu
» 2012-11-03 20:55:06
Frazy, które należy wpisać w wyszukiwarkę google:

http://cpp0x.pl/forum/temat/?id=8371
P-68388
« 1 »
  Strona 1 z 1