A simple c++ class, Contain three file:
/* * Tree.h * * Created on: Aug 23, 2009 * Author: sai */ #ifndef TREE_H_ #define TREE_H_ #include using namespace std; class Tree { int height; // the tree's height public: Tree(int initialHeight); virtual ~Tree(); void grow(int years); void printsize(); /** * over loade << operator like this: * friend ostream& operator<< (ostream& os, const Tree& tree) const; * * got error:non-member function ‘std::ostream& operator<<(std::ostream&, const Tree&)’ cannot have cv-qualifier */ friend ostream& operator<< (ostream& os, const Tree& tree); }; #endif /* TREE_H_ */
/* * Tree.cpp * * Created on: Aug 23, 2009 * Author: sai */ #include #include "Tree.h" using namespace std; Tree::Tree(int initialHeight) { height = initialHeight; } Tree::~Tree() { // DO NOTHING } void Tree::grow(int years) { height += years; } void Tree::printsize() { cout << "Tree's height is :" << height; } ostream& operator<< (ostream& out, const Tree& tree){ out << "Tree's height is :" << tree.height; return out; }
//============================================================================ // Name : welcome.cpp // Author : sai // Version : // Copyright : copyright 2009, sai zeng // Description : Hello World in C++, Ansi-style //============================================================================ #include #include "Tree.h" using namespace std; int main() { cout << "Welcome CPP developer" << endl; // prints Welcome CPP developer /** test class Tree*/ Tree r(30); r.printsize(); cout << endl; r.grow(23); r.printsize(); cout << endl; cout << r << endl; return 0; }
output:
Welcome CPP developer Tree height is :30 Tree height is :53 Tree height is :53
sai@