Я пытаюсь завершить прошлую экзаменационную работу по объектно-ориентированному программированию, которая включает наследование в C ++.Это UML
.
Я пытаюсь напечатать вторую строку образца вывода, как показано на вопросном листе.Программа должна использовать наследование для вывода имени студента, DOB и отдела, но я не уверен, как вывести первые два.Я реализовал наследование, но функции печати классов Person и Date не печатаются.Полная реализация кода здесь .
Это класс Student:
#include "Person.h"
class Student :
public Person
{
public:
Student(string, string, int, int, int);
void print();
~Student();
private:
string Dept;
};
Student::Student(string d, string name, int mm, int dd, int yy)
: Person(name, mm, dd, yy)
{
Dept = d;
}
void Student::print()
{
cout << Dept;
}
Это класс Person:
#include "Date.h"
class Person
{
public:
Person(string, int, int, int);
void getName();
void setName(string);
void print();
~Person();
private:
string Name;
Date DOB;
};
Person::Person(string n, int bmonth, int bday, int byear)
: DOB(bmonth, bday, byear)
{
setName(n);
}
void Person::getName()
{
cout << Name;
}
void Person::setName(string nm)
{
Name = nm;
}
void Person::print()
{
getName();
cout << ", DOB: ";
DOB.print();
}
Результаты теста:
Student s("Applied Computing", "James Hall", 12, 12, 1988);
cout << endl;
cout << "Student created: ";
s.print();