lszk Napisano Październik 14, 2005 Zgłoszenie Share Napisano Październik 14, 2005 Mam taką klase #include <iostream> using namespace std; class kobieta{ private: char imie[10]; char nazwisko[15]; int wiek; public: void przelec(char * napis, char * napis2, int lata); void wypisz(); }; void kobieta::przelec(char *napis, char * napis2, int lata) { strcpy(imie, napis); strcpy(nazwisko, napis2); wiek = lata; } void kobieta::wypisz() { cout << "Przeleciales " << imie << nazwisko << " o wieku " << wiek << endl; } int main(int argc, char argv[]) { kobieta ladna; ladna.przelec("aaa", "bbb", 25); ladna.wypisz(); } I teraz pytanie. Jak zmienić wpis w main, abym mógł imie, nazwisko i wiek wpisać sam ręcznie podczas działania progsa? Kombinowałem na wskaźnikach, ale jestem w tym jeszcze wybitnie słaby. cout << "podaj imie" << endl; cin >> xyz << endl; I tak dalej dla poszczególnych wartości. Ale jak to później odnieść do wartości w ladna.przelec Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
neo_fox Napisano Październik 14, 2005 Zgłoszenie Share Napisano Październik 14, 2005 Dlaczego we wskaźnikach? Musisz albo stworzyć metodą(y) "write" dla klasy kobieta albo zmienć atrybuty na publiczne Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
lszk Napisano Październik 14, 2005 Autor Zgłoszenie Share Napisano Październik 14, 2005 (edytowane) Hmm write. Może i tak Popróbuje, co jednak oznacza, że musiałbym mieć do wglądu przykład z tym Może się coś na googlu znajdzie [edit] Jednak sobie sam poradziłem bez googla #include <iostream> using namespace std; class kobieta{ private: char imie[10]; char nazwisko[15]; int wiek; public: void przelec(char * napis, char * napis2, int lata); inline void write() { cout << "Podaj imie \n" << endl; cin >> imie; cout << "Podaj nazwisko \n" << endl; cin >> nazwisko; cout << "Podaj wiek \n" << endl; cin >> wiek; } void wypisz(); }; void kobieta::przelec(char *napis, char * napis2, int lata) { strcpy(imie, napis); strcpy(nazwisko, napis2); wiek = lata; } void kobieta::wypisz() { cout << "Przeleciales " << imie << nazwisko << " o wieku " << wiek << endl; } //void kobieta::write() int main(int argc, char argv[]) { kobieta ladna; ladna.write(); //ladna.przelec("aaa", "bbb", 25); ladna.wypisz(); } Dzięki neo_fox, bo pewnie sam bym na to nie wpadł Edytowane Październik 14, 2005 przez lszk Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
neo_fox Napisano Październik 14, 2005 Zgłoszenie Share Napisano Październik 14, 2005 a właśnie się tak namęczyłem Main: /* Created by Anjuta version 1.2.3 */ /* This file will not be overwritten */ #include <iostream> #include "kobieta.h" using namespace std; int main(int argc, char argv[]) { char imie[10]; char nazwisko[15]; int wiek; kobieta ladna; cout << "Podaj imie:"; cin >> imie; ladna.setImie(imie); cout << endl << "Podaj nazwisko:" << endl; cin >> nazwisko; ladna.setNazwisko(nazwisko); cout << endl << "Podaj wiek:" << endl; cin >> wiek; ladna.setWiek(wiek); ladna.wypisz(); } kobieta.h: // // File: kobieta.h // Created by: User <Email> // Created on: Fri Oct 14 21:41:11 2005 // #ifndef _KOBIETA_H_ #define _KOBIETA_H_ #include <string> #include <iostream> using namespace std; class kobieta { private: string imie; string nazwisko; int wiek; public: kobieta(); ~kobieta(); void wypisz(); void setImie(string imieIn); void setNazwisko(string nazwiskoIn); void setWiek(int wiekIn); }; #endif //_KOBIETA_H_ kobieta.cc // // File: kobieta.cc // Created by: User <Email> // Created on: Fri Oct 14 21:41:11 2005 // #include "kobieta.h" kobieta::kobieta() :wiek(0) { } kobieta::~kobieta() { } void kobieta::setImie(string imieIn) { imie = imieIn; } void kobieta::setNazwisko(string nazwiskoIn) { nazwisko = nazwiskoIn; } void kobieta::setWiek(int wiekIn) { wiek = wiekIn; } void kobieta::wypisz() { cout << "Przeleciales " << imie << " " << nazwisko << " o wieku " << wiek << endl; } Ale może się komuś przyda Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
lszk Napisano Październik 14, 2005 Autor Zgłoszenie Share Napisano Październik 14, 2005 a właśnie się tak namęczyłem A ja tam jestem zadowolony ;P Przynajmniej moge sobie porównać PS. W main powinno być chyba jeszcze #include "kobieta.cc" Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
neo_fox Napisano Październik 14, 2005 Zgłoszenie Share Napisano Październik 14, 2005 no to fajnie. :-) Nie poszło na marne PS. W main powinno być chyba jeszcze #include "kobieta.cc" nie musi a nawet nie powinno Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
lszk Napisano Październik 20, 2005 Autor Zgłoszenie Share Napisano Październik 20, 2005 nie musi a nawet nie powinno No ale bez tej linijki, przy próbie kompilacji wyskakuje /tmp/ccNTwG6w.o: In function `main': main.cc:(.text+0x25): undefined reference to `kobieta::kobieta()' main.cc:(.text+0x87): undefined reference to `kobieta::setImie(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)' main.cc:(.text+0x169): undefined reference to `kobieta::setNazwisko(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)' main.cc:(.text+0x222): undefined reference to `kobieta::setWiek(int)' main.cc:(.text+0x231): undefined reference to `kobieta::wypisz()' main.cc:(.text+0x240): undefined reference to `kobieta::~kobieta()' main.cc:(.text+0x25f): undefined reference to `kobieta::~kobieta()' collect2: ld returned 1 exit status Z nią dopiero chodzi. A dlaczego "nie musi, a nawet nie powinno" być? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
@Sorror Napisano Październik 20, 2005 Zgłoszenie Share Napisano Październik 20, 2005 A dlaczego "nie musi, a nawet nie powinno" być? Jest kilka sposobów na siatkę implementacji headerów - w tym kontekście neo_fox się pomylił Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
neo_fox Napisano Październik 22, 2005 Zgłoszenie Share Napisano Październik 22, 2005 Może faktycznie się pomyliłem. Ale jeszcze nigdy nie widziałem implementacji pliku "C" w main. Kurcze teraz tak mnie korci żeby ten program jeszcze raz poprawić W sumie wystarczyłaby jedna metoda "set" Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się