#include #include #include "WordT.h" using namespace std; int main() { int a{9}; int * intPtr{nullptr} ; WordT word; WordT * wordPtr{nullptr}; intPtr = & a; cout << "a = " << a << endl; cout << "*intPtr = " << *intPtr << endl; cout << "intPtr = " << intPtr << endl; cout << endl; cout << "executing a = 99;" << endl; a = 99; cout << "a = " << a << endl; cout << "*intPtr = " << *intPtr << endl; cout << endl; cout << "executing *intPtr = 42;" << endl; *intPtr = 42; cout << "a = " << a << endl; cout << "*intPtr = " << *intPtr << endl; cout << endl; cout << "executing intPtr = 100; " << endl; // bad, notice I needed a new cast type. // don't worry about this cast until next semester. intPtr = reinterpret_cast(100); //intPtr = reinterpret_cast(reinterpret_cast(intPtr) - 1); //intPtr = wordPtr; cout << "a = " << a << endl; cout << "intPtr = " << intPtr << endl; cout << "*intPtr = " << *intPtr << endl; cout << endl; wordPtr = & word; word.Word("hello"); word.IncrementCount(); cout << "word: " << word.Word() << " " << word.GetCount() << endl; cout << "wordPtr: " << wordPtr->Word() << " " << wordPtr->GetCount() << endl; cout << endl; wordPtr->Word("New Word"); wordPtr->IncrementCount(); wordPtr->IncrementCount(); wordPtr->IncrementCount(); cout << "word: " << word.Word() << " " << word.GetCount() << endl; cout << "wordPtr: " << wordPtr->Word() << " " << wordPtr->GetCount() << endl; cout << endl; return 0; }