Class 15 - Overhead 1Object Oriented Programming Using C #include class telephone { public: telephone(char *number, int volume); int dial(char *outgoing_number); protected: char phone_number[32]; int volume; }; telephone::telephone(char *number, int volume) { strcpy(telephone::phone_number, number); telephone::volume = volume; } int telephone::dial(char *outgoing_number) { cout << “Use a rotary or touch-tone phone to call:”<< outgoing_number; cout << “Volume: ” << volume << endl; return(1); }
Class 15 - Overhead 2Object Oriented Programming Using C class touch_tone: public telephone { public: touch_tone(char *number, int volume) : telephone(number, volume) { }; int dial(char *outgoing_number); }; int touch_tone::dial(char *outgoing_number) { cout << “Beep beep beep with touch tone:” << outgoing_number; cout << “ Volume:” << volume << endl; return(1); }
Class 15 - Overhead 3Object Oriented Programming Using C class rotary: public telephone { public: rotary(char *number, int volume) : telephone (number, volume) { }; int dial(char *outgoing_number); }; int rotary::dial (char *outgoing_number) { cout << “Click click click with rotary: “ << outgoing_number; cout << “ Volume: ” << volume << endl; return(1); }
Class 15 - Overhead 4Object Oriented Programming Using C void main(void) { touch_tone office(“ ”, 5); rotary home(“ ”, 2); telephone *cellular = new telephone (* ”, 3); home.dial(“ ”); office.dial(“ ”); cellular ->dial(“ ”); cellular = &office; cellular ->dial(“ ”); }
Class 15 - Overhead 5Object Oriented Programming Using C class telephone{ public: telephone(char *number, int volume); virtual int dial(char *outgoing_number); protected: char phone_number[32]; int volume; }; class rotary: public telephone { public: rotary(char *number, int volume): telephone(number, volume) { }; int dial(char *outgoing_number); }; class touch_tone: public telephone { public: touch_tone(char *number, int volume): telephone(number, volume){ }; int dial(char *outgoing_number); };
Class 15 - Overhead 6Object Oriented Programming Using C #include class telephone { public: telephone(char *number, int volume); virtual int dial(char *outgoing_number); protected: char phone_number[32]; int volume; }; telephone::telephone(char *number, int volume) { strcpy(telephone::phone_number, number); telephone::volume = volume; } int telephone::dial(char *outgoing_number) { cout << “Use a rotary or touch_tone phone to call: ” << outgoing_number; cout << “ Volume: ” << volume << endl; }
Class 15 - Overhead 7Object Oriented Programming Using C class touch_tone: public telephone { public: touch_tone(char *number, int volume) : telephone(number, volume) { }; int dial(char *outgoing_number); }; int touch_tone::dial(char *outgoing_number) { cout << “Beep beep beep with touch tone: ” << outgoing_number; cout << “ Volume: ” << volume << endl; return(1); }
Class 15 - Overhead 8Object Oriented Programming Using C class rotary: public telephone { public: rotary(char *number, int volume) : telephone(number, volume) { }; int dial(char *outgoing_number); }; int rotary::dial(char *outgoing_number) { cout << “Click click click with rotary: ” << outgoing_number; cout << “ Volume: ” << volume << endl; return(1); {
Class 15 - Overhead 9Object Oriented Programming Using C void main(void) { touch_tone office (“ ”, 5); rotary home(“ ”, 2); home.dial(“ ”); office.dial(“ ”); }
Class 15 - Overhead 10Object Oriented Programming Using C void main(void) { touch_tone office (“ ”, 5); rotary home(“ ”, 2); telephone *cellular; home.dial(“ ”); office.dial(“ ”); cellular = &home; cellular ->dial(“ ”); cellular = &office; cellular ->dial(“ ”); }