Constructor and destructor inside a struct : Struct Class « Class « C++






Constructor and destructor inside a struct

Constructor and destructor inside a struct
 
#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;

struct StringClass {
  StringClass(char *ptr);
  ~StringClass();
  void show();
private:
  char *p;
  int len;
};

StringClass::StringClass(char *ptr)
{
  len = strlen(ptr);
  p = (char *) malloc(len+1);
  if(!p) {
    cout << "Allocation error\n";
    exit(1);
  }
  strcpy(p, ptr);
}

StringClass::~StringClass()
{
  cout << "Freeing p\n";
  free(p);
}

void StringClass::show()
{
  cout << p << " - length: " << len;
  cout << endl;
}

int main()
{
  StringClass stringObject1("www.java2s.com."), stringObject2("www.java2s.com.");

  stringObject1.show();
  stringObject2.show();

  return 0;
}


           
         
  








Related examples in the same category

1.Stack class using a structure.Stack class using a structure.
2.Using a structure to define a class.Using a structure to define a class.
3.Classes and Structures are Related
4.Using a class instead of struct.
5.add method to struct
6.use struct to initialize a class