CS202 6- ‹#›
Copy Constructors
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