// Listing 5.8 - demonstrates // function polymorphism #include int Double(int); long Double(long); float Double(float); using namespace std; int main() { int myInt = 6500; long myLong = 65000; float myFloat = 6.5F; int doubledInt; long doubledLong; float doubledFloat; cout << "myInt: " << myInt << "\n"; cout << "myLong: " << myLong << "\n"; cout << "myFloat: " << myFloat << "\n"; doubledInt = Double(myInt); doubledLong = Double(myLong); doubledFloat = Double(myFloat); cout << "doubledInt: " << doubledInt << "\n"; cout << "doubledLong: " << doubledLong << "\n"; cout << "doubledFloat: " << doubledFloat << "\n"; system("PAUSE"); // prevent the console window from closing return 0; } int Double(int original) { cout << "In Double(int)\n"; return 2 * original; } long Double(long original) { cout << "In Double(long)\n"; return 2 * original; } float Double(float original) { cout << "In Double(float)\n"; return 2. * original; }