.cpp.py.c 2021-07-05 00:47 采纳率: 88.9%
浏览 18
已结题

怎样创建满足要求的子类,并且按要求进行输出?

img

#include
using namespace std;
#include

class Person{
public:
string name,sex;
int age;
Person(string name,string sex,int age){
cout<<"Person Constructed!"<<endl;
}
Person(const Person & p){
cout<<"Person Copied!"<<endl;
}
virtual void PrintInfo(){
cout<<"class"<<"name"<<name<<"sex"<<sex<<"age"<<age
}
~Person(){cout<<"Person Destructed!"<<endl;}
};

class Student:public Person{
public:
Student(string name, string sex, int age, string major, int grade, int gpa) {
cout<<"Student Constructed!"<<endl;
}
Student(const Student &p): Person(p) {
cout<<"Student Copied!"<<endl;
}
~Student(){cout<<"Student Destructed!"<<endl;}
string major;
int grade,gpa;
};

class Worker:public Person{
Worker(string name,string sex,int age,string nationality,float salary){
cout<<"Worker Constructed!"<<endl;
}
Worker(const Worker &p): Person(p) {
cout<<"Worker Copied!"<<endl;
}
~Worker(){cout<<"Worker Destructed!"<<endl;}
string nationality,salary;
};
int main() {

Person person("Allen", "male", 29);
Student student("Frank", "male", 15, "Robotics", 17, 3.5);
Worker worker("Ben", "male", 45, "China", 3500.0f);
// 调用多态函数,按要求输出信息
 person.PrintInfo();
student.PrintInfo();
worker.PrintInfo();
// 验证运算符重载的正确性
worker("Ben", "male", 45, "China", 3500.0f);
std::cout << student << std::endl;
// 对三个实例进行拷贝
 Person person2 = person;
 Student student2 = student;
 Worker worker2 = worker;
 // 对其中一个拷贝得到的实例调用多态函数,输出信息
 worker2.PrintInfo();

return 0;

}
ostream &append(ostream & append,Student & stu){
cout<<"I'm a student named "<<stu.name<<endl;
}

展开全部

  • 写回答

1条回答 默认 最新

  • CSDN专家-link 2021-07-05 00:55
    关注

    Person(string name,string sex,int age){
    cout<<"Person Constructed!"<<endl;
    }
    改成
    Person(string n,string s,int a){
    name = n;
    sex = s;
    age = a;
    cout<<"Person Constructed!"<<endl;
    }

    Student(string name, string sex, int age, string major, int grade, int gpa) {
    cout<<"Student Constructed!"<<endl;
    }
    改成:
    Student(string name, string sex, int age, string m, int g, int p) :Person(name,sex,age){
    major = m;grade = g;gpa= p;
    cout<<"Student Constructed!"<<endl;
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月22日

悬赏问题

  • ¥50 代码还没怎么运行但是需要代码功能调用数据
  • ¥15 vue请求不到数据,返回状态200,数据为html
  • ¥15 访问url时不会自动调用其 Servlet的doGet()
  • ¥15 用白鹭引擎开发棋牌游戏的前端为什么这么难找
  • ¥35 哪位专业人士知道这是什么原件吗?哪里可以买到?
  • ¥15 关于#c##的问题:treenode反序列化后获取不到上一节点和下一节点,Fullpath和Handle报错
  • ¥15 一部手机能否同时用不同的app进入不同的直播间?
  • ¥20 输入import torch显示Intel MKL FATAL ERROR,系统驱动1%,: Cannot load mkl_intel_thread.dll.
  • ¥15 点云密度大则包围盒小
  • ¥15 nginx使用nfs进行服务器的数据共享
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部