Skocz do zawartości

[c++]klasa Pyt.


lszk

Rekomendowane odpowiedzi

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 question.gif

Odnośnik do komentarza
Udostępnij na innych stronach

Hmm write. Może i tak ph34r.gif

Popróbuje, co jednak oznacza, że musiałbym mieć do wglądu przykład z tym dry.gif Może się coś na googlu znajdzie wink.gif

 

[edit]

 

Jednak sobie sam poradziłem bez googla biggrin.gif

#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ł smile.gif

Edytowane przez lszk
Odnośnik do komentarza
Udostępnij na innych stronach

a właśnie się tak namęczyłem sad.gif

 

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 smile.gif

Odnośnik do komentarza
Udostępnij na innych stronach

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

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ę
×
×
  • Dodaj nową pozycję...