// thello.hpp #include <iostream> #include <string> #include <iomanip> using namespace std; class THello { string TGreeting; unsigned long TRepeatCount; public: THello(); THello(string UserGreeting); THello(unsigned long Count); THello(string UserGreeting, unsigned long Count); void AssignGreeting(string UserGreeting); void AssignRepeat(unsigned long Count); void operator<<(string UserGreeting); void run(); }; //thello.cpp #include "thello.hpp" void THello::AssignGreeting(string UserGreeting) { TGreeting = UserGreeting; } void THello::AssignRepeat(unsigned long Count) { if(Count>0) TRepeatCount = Count; } THello::THello() { AssignGreeting("Hello World."); AssignRepeat(10); } THello::THello(string UserGreeting) { AssignGreeting(UserGreeting); AssignRepeat(10); } THello::THello(unsigned long Count) { AssignGreeting("Hello World."); AssignRepeat(Count); } THello::THello(string UserGreeting, unsigned long Count) { AssignGreeting(UserGreeting); AssignRepeat(Count); } void THello::operator<<(string UserGreeting) { AssignGreeting(UserGreeting); } void THello::run() { unsigned int i = 1; while(i<=TRepeatCount) { cout << "[" << setfill('0') << setw(5) << i << "] "; cout << TGreeting << endl; i++; } }
This creates an object that can be linked to a main program containing all hello world services to a parent program.
#include "hellolib\thello.hpp" #include <cstdlib> #include <string> using namespace std; int main(int argc, char *argv[]) { switch(argc) { case 1: { THello World; World.run(); break; } case 2: { long i = atol(argv[1]); THello World( i ); World.run(); break; } default: { long i = atol(argv[1]); string s = argv[2]; THello World( s , i ); World.run(); } } return 0; }
A sample program using that object.