实验四类的继承与多态实验(2)

2019-01-26 18:08

class B1:virtual public Base {

public: B1(){cout<<\};

class B2: virtual public Base {

public: B2(){cout<<\};

class Derived:public B2,public B1 {

public: Derived(){cout<<\};

int main() { Derived d; return(0); }

#include #include #include

class person {

public: void print(); person(char a[],int b,char c[]); protected: char name[20]; int age; char sex[5]; };

person::person(char a[],int b,char c[]) {

strcpy(name,a); age=b; strcpy(sex,c); }

void person::print() { cout<<\姓名\\年龄\ \性别\\}

class teacher:virtual public person {

public: teacher (char a[],int b,char c[],char d[]); void print(); protected: char department[50]; };

teacher::teacher(char a[],int b,char c[],char d[]):person(a,b,c) { strcpy(department,d); }

void teacher::print() { person::print(); cout<

class student:virtual public person {

public: student (char a[],int b,char c[],char d[]); void print(); protected: char speciality[50]; };

student::student(char a[],int b,char c[],char d[]):person(a,b,c) { strcpy(speciality,d); }

void student::print() { person::print(); cout<

class professor: public person

{

public: void print(); professor(char a[],int b,char c[],char d[],char e[]); protected: char position[50]; char department[50]; };

professor::professor(char a[],int b,char c[],char d[],char e[]):person(a,b,c) { strcpy(position,d); strcpy(department,e); }

void professor::print() { person::print(); cout<

class stuTeacher:public teacher,public student {

public: stuTeacher(char a[],int b,char c[],char d[],char e[]); void print(); };

stuTeacher::stuTeacher(char a[],int b,char c[],char e[]):person(a,b,c),student(a,b,c,d),teacher(a,b,c,e) {}

void stuTeacher::print() { person::print(); cout<

int main() { teacher a(\男\电院\ a.print(); student b(\刘道广\男\计算机\ b.print(); professor c(\女\教授\材工\ c.print(); stuTeacher d(\女\国际贸易\管院\

系\d[],char

院系\院

d.print(); return(0); }

#include #include #include

float m,n;

class fraction {

public: fraction(float x=1,float y=1); fraction operator +(fraction& c); fraction operator -(fraction& c); fraction operator *(fraction& c); fraction operator /(fraction& c); void display(void); private: float a; float b; };

fraction::fraction(float x,float y) { a=x; b=y; }

fraction fraction::operator +(fraction& c) { m=a+c.a; n=b+c.b; return(fraction(m,n)); }

fraction fraction::operator -(fraction& c) { m=a-c.a; n=b-c.b; return(fraction(m,n)); }

fraction fraction::operator *(fraction& c) { m=a*c.a-b*c.b; n=a*c.b+b*c.a; return(fraction(m,n)); }

fraction fraction::operator /(fraction& c) { if(c.a==0&&c.b==0) { cout<<\输入错误\ exit(0); } m=(a*c.a+b*c.b)/(c.a*c.a+c.b*c.b); n=(b*c.a-a*c.b)/(c.a*c.a+c.b*c.b); return(fraction(m,n)); }

void fraction::display() { cout<

int main() { fraction x(3,4),y(1,2),z; z=x+y; z.display(); z=x-y; z.display(); z=x*y; z.display(); z=x/y; z.display(); return(0); }

运行结果: 4+6i 2+2i -5+10i 2.2+-0.4i


实验四类的继承与多态实验(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:朱氏名字大全

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: