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;
}