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