All pastes #798133 Raw Edit

Stuff

public text v1 · immutable
#798133 ·published 2007-11-26 16:38 UTC
rendered paste body
#include <iostream>

class Human {
public:
	std::string *Name;
	virtual ~Human ( void );
	Human ( void );
	virtual void SetName ( const char *Name );
};

class Female : public Human {
private:
	std::string *Name;

public:
	Female ( void );
	virtual ~Female ( void );
	virtual void SetName ( const char *Name );
};

class Male : public Human {
private:
	std::string *Name;

public:
	Male ( void );
	virtual ~Male ( void );
	virtual void SetName ( const char *Name );
};

Female::Female ( void )
{
	std::cout << "A new female was born." << std::endl;
	this->Name = new std::string ( );
}

Female::~Female ( void )
{
	std::cout << "A female was killed." << std::endl;
	delete ( this->Name );
}

void Female::SetName ( const char *Name )
{
	this->Name->clear ( );
	this->Name->insert ( 0, Name );
}

Male::Male ( void )
{
	std::cout << "A male was born." << std::endl;
	this->Name = new std::string ( );
}

Male::~Male ( void )
{
	std::cout << "A male was killed." << std::endl;
	delete ( this->Name );
}

void Male::SetName ( const char *Name )
{
	this->Name->clear ( );
	this->Name->insert ( 0, Name );
}

int main ( int argc, char **argv )
{
	Male *male = new Male ( );
	Female *female = new Female ( );
	male->SetName ( "Kalle" );
	female->SetName ( "Lisa" );
	delete ( male );
	delete ( female );
	return 0;
}