All pastes #281056 Raw Edit

Miscellany

public cpp v1 · immutable
#281056 ·published 2006-12-16 13:18 UTC
rendered paste body
class2.h ===========================================================================================================#include <iostream>#ifndef _CLASS2_H_#define _CLASS2_H_using namespace std;class Mensch{	public:		enum Geschlecht {MANN,FRAU};	private:		char name[30];		unsigned int alter;		bool geschlecht;		void test_geschlecht(void);	public:		// Konstruktoren		Mensch(const char*, unsigned int, bool);		Mensch(const char*, unsigned int);		Mensch(const char*);		Mensch();		// Destruktor		~Mensch();		// Klassen Funktionen		void sehen(const char* objekt);		void hoeren(const char* geraeusch);		void riechen(const char* geruch);		void schmecken(const char* geschmack);		void tasten(const char* objekt);		void erzeuge(const char* n="Unbekannt",			     unsigned int a = 0,			     bool g = FRAU );		void print(void);		// Zugriffsmethoden		const char* get_name(void);		unsigned int get_alter(void);		bool get_geschlecht(void);		void set_name(const char* n);		void set_alter(unsigned int a);		void set_geschlecht(bool g); };#endifclass2.h ENDE ==================================================================================================class2.c =======================================================================================================#include <iostream>#include <cstring>#include "class2.h"using namespace std;// Definition der Konstruktoren Mensch::Mensch(const char* n, unsigned int a, bool g){	strncpy(name, n , sizeof(name)-1);	name[sizeof(name)]='\0';	alter = a;	geschlecht = g;}Mensch::Mensch(const char* n, unsigned int a){	strncpy(name, n, sizeof(name)-1);	name[sizeof(name)]='\0';	alter=a;	if(a%2) // Gerade? 	{		geschlecht = FRAU;	}	else	{		geschlecht = MANN;	}}Mensch::Mensch(const char* n){	strncpy(name, n, sizeof(name)-1);	name[sizeof(name)]='\0';	// Vor kurzem geboren	alter = 0;	geschlecht = FRAU; }Mensch::Mensch(){	strncpy(name, "Unbekannt", sizeof(name)-1);	name[sizeof(name)]='\0';	// Vor kurzem geboren	alter = 0;	geschlecht = MANN;}Mensch::~Mensch(){	cout << name << " ist von uns gegangen\n";}void Mensch::erzeuge(const char* n, unsigned int a, bool g){	strncpy(name, n, sizeof(name)-1);	name[sizeof(name)]='\0';	alter = a;	geschlecht = g;}void Mensch::print(void){	cout << name << " " << alter << " Jahre (";	test_geschlecht();	cout << ")";	if(alter <= 3)	{		cout << " -> Neugeborenes\n";	}	else if(alter <= 10)	{		cout << " -> Kind\n";	}	else if(alter <= 17)	{		cout << " -> Teenie\n";	}	else if(alter <= 24)	{		cout << " -> junger Erwachsener\n";	}	else if(alter >= 25)	{		cout << " -> Erwachsener\n";	}}void Mensch::test_geschlecht(void){	if(geschlecht == FRAU)	{		cout << "weiblich";	}	else if(geschlecht == MANN)	{		cout << "maennlich";	}}void Mensch::sehen(const char* objekt){	cout << name << " sieht " << objekt << '\n';}void Mensch::hoeren(const char* geraeusch){	cout << name << " hoert " << geraeusch << '\n';}void Mensch::riechen(const char* geruch){	cout << name << " riecht " << geruch << '\n';}void Mensch::schmecken(const char* geschmack){	cout << name << " schmeckt " << geschmack << '\n';}void Mensch::tasten(const char* objekt){	cout << name << " nimmt " << objekt << '\n';}const char* Mensch::get_name(void){	return name;}unsigned int Mensch::get_alter(void){	return alter;}bool Mensch::get_geschlecht(void){	return geschlecht;}void Mensch::set_name(const char* n){	strncpy(name, n, sizeof(name)-1);	name[sizeof(name)]='\0';}void Mensch::set_alter(unsigned int a){	alter = a;}void Mensch::set_geschlecht(bool g){	geschlecht = g;}class2.cpp ENDE ================================================================================================class2main.cpp =================================================================================================#include "class2.h"using namespace std;int main(void){	Mensch person1("Adam",18,Mensch::MANN);	Mensch person2;	person1.print();	person2.print();	person1.set_alter(20);	person2.set_name("Eva");	person2.set_alter(19);	person2.set_geschlecht(Mensch::FRAU);	person1.print();	person2.print();	return 0;}class2main.cpp ENDE ============================================================================================