I have the following snippet of code:
const int DATE_LENGTH = 6;
class BaseClass {
protected:
int date[DATE_LENGTH];
int year;
public:
BaseClass(){}
BaseClass(int *d) {
for (int i = 0; i < DATE_LENGTH; i++) { date[i] = d[i];}
year = 1900 + date[4] * 10 + date[5];
}
void printYear() {
cout << year << endl;
}
};
class DerivedClass : public BaseClass {
public:
DerivedClass() {}
void printYear() {
cout << year << endl;
}
};
int main(int argc, char *argv[]) {
int dob[] = {1, 6, 1, 0, 9, 0};
BaseClass base(dob);
base.printYear(); // prints 1990
DerivedClass derived;
derived.printYear(); // prints 1439156608
}
I'm having trouble understanding why the output from printYear()
in my derived class is outputting junk. Am I missing something very obvious?
Any help would be appreciated!