Problem z dzielniem programu na pliki hpp i cpp.
Ostatnio zmodyfikowano 2012-11-03 20:55
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? #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" ); }
#ifndef Student.hpp #define Student.hpp using namespace std; class student { private: string imie; string nazwisko; string pesel; adres * adr; adres * adr_zameld; public: void dane(); void wpisz_adr( adres * wsk_zamieszk, adres * wsk_zameld ); student(); student( string im, string nazwi, string pes ); }; #endif
#include "Student.hpp"
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; }
void Student::wpisz_adr( adres * wsk_zamieszk, adres * wsk_zameld ) { adr = wsk_zamieszk; adr_zameld = wsk_zameld; }
Student::student() { cout << endl << "Konstruktor bez parametrowy zostal wywolany" << endl; }
Student::student( string im, string nazwi, string pes ) { imie = im; nazwisko = nazwi; pesel = pes; cout << endl << "Konstruktor parametrowy zostal wywolany" << endl; }
#include "Adres.hpp"
Adres::adres( string adr, string nr ) { ulica = adr; numer_domu = nr; } void Adres::pokaz_adres() { cout << ulica << " " << numer_domu << " "; }
#ifndef Adres.hpp #define Adres.hpp class adres { private: string ulica; string numer_domu; public: adres( string adr, string nr ) void pokaz_adres() }; #endif |
|
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. |
|
Xender Temat założony przez niniejszego użytkownika |
» 2012-11-03 17:40:44 Już wyjaśniłem ;P |
|
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 :) |
|
OSA_PL |
» 2012-11-03 18:21:22 #ifndef Student.hpp #define Student.hpp Zamiast kropek daj "_" + nie includujesz bibliotek. |
|
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:
#include "../Adres.hpp" #include "../Student.hpp"
jeżeli wiesz co to ../ oznacza ;p
A w pliku głownym mam klasy tak umieszczone:
#include "include/pracownik.h" #include "include/pochodna.h" |
|
DejaVu |
» 2012-11-03 20:55:06 |
|
« 1 » |