Bruce Eckel's Thinking in C++, 2nd Ed | Contents | Prev | Next |
class Y { public: ~Y(); };
//: C06:Constructor1.cpp // Constructors & destructors #include <cstdio> using namespace std; class Tree { int height; public: Tree(int initialHeight); // Constructor ~Tree(); // Destructor void grow(int years); void printsize(); }; Tree::Tree(int initialHeight) { height = initialHeight; } Tree::~Tree() { puts("inside Tree destructor"); printsize(); } void Tree::grow(int years) { height += years; } void Tree::printsize() { printf("Tree height is %d\n", height); } int main() { puts("before opening brace"); { Tree t(12); puts("after Tree creation"); t.printsize(); t.grow(4); puts("before closing brace"); } puts("after closing brace"); } ///:~
before opening brace after Tree creation Tree height is 12 before closing brace inside Tree destructor Tree height is 16 after closing brace