#include #include<string.h> using namespace std;
class process { public: virtual void print() = 0; }; class person :public process { private: string name; string gender; int age;
person(string n, string g, int a)
{
name = n;
gender = g;
age = a;
}
virtual void print()
{
cout << "姓名:" << name << "性别:" << gender << "年龄:" << age << endl;
}
}; class student :public person { public:
int id;
int score1;
int score2;
int score3;
person(int i, int s1, int s2, int s3)
{
id = i;
score1 = s1;
score2 = s2;
score3 = s3;
}
virtual void print()
{
cout << "学号:" << id << "语文成绩:" << score1 << "数学成绩:" << score2 << "英语成绩:" << score3 << endl;
}
}; int main() { person p("张三", "男", 20); student s(19060102, 100, 99, 98); process* pro1 = new person; pro1->print(); process* pro2 = new student; pro2->print(); system("pause"); return 0;
}
class person(string n = 0,string g = 0,int a = 0) : 构造函数不能写在类定义上
#include<iostream>
#include<string>
using namespace std;
class process
{
public:
virtual void print() = 0;
};
class person: public process
{
private:
string name;
string gender;
int age;
public:
person(string n = "默认名",string g = "男",int a = 0)
{
name = n;
gender = g;
age = a;
}
virtual void print()
{
cout << "姓名:" << name << "性别:" << gender << "年龄:" << age << endl;
}
};
class student :public person
{
private:
int id;
int score1;
int score2;
int score3;
public:
student(int i, int s1, int s2, int s3):person()
{
id = i;
score1 = s1;
score2 = s2;
score3 = s3;
}
virtual void print()
{
cout << "学号:" << id << "语文成绩:" << score1 << "数学成绩:" << score2 << "英语成绩:" << score3 << endl;
}
};
int main()
{
person p("张三", "男", 20);
student s(19060102, 100, 99, 98);
process* pro1 = new person("张四", "男", 21);
pro1->print();
process* pro2 = new student(19060103, 95, 80, 70);
pro2->print();
}
姓名:张四性别:男年龄:21 学号:19060103语文成绩:95数学成绩:80英语成绩:70
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。