n//name.h interface
nclass name {
n public:
n name(char* = ""); //default constructor
n name(const
name &); //copy constructor
n ~name(); //destructor
n name &operator=(name &);
//assignment op
n private:
n char* ptr;
//pointer to name
n int length; //length of name including nul
char
n};
n
n#include
"name.h" //name.c implementation
nname::name(char*
name_ptr) { //constructor
n length = strlen(name_ptr); //get name length
n ptr = new char[length+1]; //dynamically allocate
n strcpy(ptr, name_ptr); //copy name into new space
n}
nname::name(const name
&obj) { //copy constructor
n length = obj.length; //get length
n ptr = new char[length+1]; //dynamically allocate
n strcpy(ptr, obj.ptr); //copy name into new space
n}
n
n
n