#include "stdafx.h" #include "Phoenix.h" using namespace std; void phoenixByRef(Phoenix&); void phoenixByVal(Phoenix); int main(int argc, const char* argv[]) { Phoenix* pBird3 = new Phoenix(3); // Creates an instance of Phoenix with id3 pBird3->print(); Phoenix bird1(1); // Creates an instance of Phoenix with id1 bird1.print(); Phoenix bird1copy(bird1); // Copies bird1, no additional instance bird1copy.print(); phoenixByRef(bird1); phoenixByVal(bird1); // Removes an instance of phoenix... why? Phoenix bird2 = 2; // Creates an instance Phoenix bird2copy = bird2; // No new instance... why? bird1 = bird2; delete pBird3; //Removes an instance cout << "Press any key + enter to terminate program."; char enter; cin >> enter; } void phoenixByRef(Phoenix& bird) { cout << "Phoenix id:" << bird.getId() << " - by reference" << endl; } void phoenixByVal(Phoenix bird) { cout << "Phoenix id:" << bird.getId() << " - by value" << endl; }