用c++实现:.设计一个father类一个mother 类和一个child类。其中 child 类继承father 类和 mother类。father类和mother类都包含姓和名两个数据成员child类仅包含名数据成员。要求一个child类的对象能够输出父母和自己的姓名
时间: 2023-07-15 22:13:25 浏览: 193
cpu.rar_用c++类一个cpu
以下是用C++实现的父母子类:
```c++
#include<iostream>
#include<string>
using namespace std;
class Father {
private:
string firstName;
string lastName;
public:
Father(string fn, string ln) : firstName(fn), lastName(ln){}
string getFirstName() { return firstName; }
string getLastName() { return lastName; }
};
class Mother {
private:
string firstName;
string lastName;
public:
Mother(string fn, string ln) : firstName(fn), lastName(ln){}
string getFirstName() { return firstName; }
string getLastName() { return lastName; }
};
class Child : public Father, public Mother {
private:
string firstName;
public:
Child(string fn, string ffn, string fln, string mfn, string mln) : Father(ffn, fln), Mother(mfn, mln), firstName(fn){}
void printName() {
cout << "Father's name: " << getFirstName() << " " << Father::getLastName() << endl;
cout << "Mother's name: " << getFirstName() << " " << Mother::getLastName() << endl;
cout << "Child's name: " << firstName << endl;
}
};
int main() {
Child c("Tom", "John", "Smith", "Jane", "Doe");
c.printName();
return 0;
}
```
在这个程序中,Father和Mother类分别包含名和姓的数据成员,并有一个getFirstName()和getLastName()函数来获取它们。
Child类继承了Father和Mother类,并有一个名字的数据成员。在Child类的构造函数中,我们首先调用Father和Mother的构造函数,并将相应的参数传递给它们。
最后,我们在Child类中定义了一个printName()函数来输出父母和孩子的姓名,其中使用getFirstName()函数从Father和Mother类中获取父母的名字。注意,我们使用Father::getLastName()和Mother::getLastName()来区分Father和Mother类中的相同函数。
在main()函数中,我们创建了一个Child对象并调用了printName()函数来输出姓名。
阅读全文