Presentation is loading. Please wait.

Presentation is loading. Please wait.

Andy Wang Object Oriented Programming in C++ COP 3330

Similar presentations


Presentation on theme: "Andy Wang Object Oriented Programming in C++ COP 3330"— Presentation transcript:

1 Andy Wang Object Oriented Programming in C++ COP 3330
Multiple Inheritance Andy Wang Object Oriented Programming in C++ COP 3330

2 Multiple Inheritance C++ supports multiple inheritance
A class can inherit properties from more than one base class (multiple parent classes) Not all object-oriented languages support multiple inheritance (e.g., Java)

3 Inline functions: code inserted at each invocation point
data.h #ifndef _DATE_H #define _DATE_H class Date { protected: int day, month, year; public: Date() { day = month = 1; year = 1900; } Date(int d, int m, int y) { day = d; month = m; year = y; } int getDay() const { return day; } int getMonth() const { return month; } int getYear() const { return year; } }; #endif Inline functions: code inserted at each invocation point

4 time.h #ifndef _TIME_H #define _TIME_H class Time { protected: int hour, min, sec; public: Time() { hour = min = sec = 0; } Time(int h, int m, int s) { hour = h; min = m; sec = s; } int getHour() const { return hour; } int getMin() const { return min; } int getSec() const { return sec; } }; #endif

5 datetime.h #ifndef _DATETIME_H #define _DATETIME_H const int DT_SIZE = 20; class DateTime : public Date, public Time { protected: char dateTimeString[DT_SIZE]; public: DateTime(); DateTime(int, int, int, int, int, int); const char *getDateTime() const { return dateTimeString; } }; #endif

6 datetime.cpp #include <cstring> #include <cstdlib> #include “DateTime.h” const int TEMP_SIZE = 10; DateTime::DateTime() : Date(), Time() { strcpy(dateTimeString, “1/1/1900 0:0:0”); }

7 datetime.cpp DateTime::DateTime(int dy, int mon, int yr, int hr, int mt, int sc) : Date(dy, mon, yr), Time(hr, mt, sc) { char temp[TEMP_SIZE]; strcpy(dateTimeString, itoa(getMonth(), temp, TEMP_SIZE); strcat(dateTimeString, “/”); strcpy(dateTimeString, itoa(getDay(), temp, TEMP_SIZE); strcpy(dateTimeString, itoa(getYear(), temp, TEMP_SIZE); strcat(dateTimeString, “ ”);

8 datetime.cpp strcpy(dateTimeString, itoa(getHour(), temp, TEMP_SIZE); strcat(dateTimeString, “:”); strcpy(dateTimeString, itoa(getMin(), temp, TEMP_SIZE); strcpy(dateTimeString, itoa(getSec(), temp, TEMP_SIZE); }

9 main.cpp #include <iostream> #include “DateTime.h” using namespace std; int main() { DateTime emptyDay; cout << emptyDay.getDateTime() << endl; DateTime pastDay(2, 4, 60, 5, 32, 27); cout << pastDay.getDateTime() << endl; return 0; }


Download ppt "Andy Wang Object Oriented Programming in C++ COP 3330"

Similar presentations


Ads by Google