第五章第九题:
#include <iostream>
using namespace std;
class People{
public:
People(string name,string old,string sex,string adde,string phone):name(name),old(old),sex(sex),adde(adde),phone(phone){}
protected:
string name;
string old;
string sex;
string adde;
string phone;
};
class Teacher:public People{
public:
Teacher(string name,string old,string sex,string adde,string phone,string title):People(name,old,sex,adde,phone),title(title){}
void display();
protected:
string title;
};
class Cadre:public People{
public:
Cadre(string name,string old,string sex,string adde,string phone,string post):People(name,old,sex,adde,phone),post(post){}
protected:
string post;
};
class Teacher_Cadre:public Teacher,public Cadre{
public:
Teacher_Cadre(string name,string old,string sex,string adde,string phone,string title,string post,string wages):Teacher(name,old,sex,adde,phone,title),Cadre(name,old,sex,adde,phone,post),wages(wages){}
void display();
private:
string wages;
};
void Teacher::display(){
cout<<name<<endl<<old<<endl<<sex<<endl<<adde<<endl<<phone<<endl<<title<<endl;
}
void Teacher_Cadre::display(){
Teacher::display();cout<<post<<endl<<wages<<endl;
}
int main()
{
Teacher_Cadre t("smk","24","man","tjnu","312432423","高级讲师","教务处","6800");
t.display();
return 0;
}输出:
smk
24
man
tjnu
312432423
高级讲师
教务处
6800
第六章第五题:
#include <iostream>
using namespace std;
class Shape{
protected:
int radius;
public:
Shape(int radius):radius(radius){}
virtual int printarea() const =0;
};
class Circle:public Shape{
public:
Circle(int radius):Shape(radius){}
int printarea() const;
};
class Square:public Shape{
public:
Square(int radius):Shape(radius){}
int printarea() const;
};
class Rectangle:public Shape{
public:
int printarea() const;
Rectangle(int radius,int h):Shape(radius),h(h){}
private:
int h;
};
class Trapezoid:public Shape{
public:
int printarea() const;
Trapezoid(int radius,int h,int r):Shape(radius),h(h),r(r){}
private:
int r,h;
};
class Triangle:public Shape{
public:
int printarea() const;
Triangle(int radius,int h):Shape(radius),h(h){}
private:
int h;
};
int Circle::printarea() const{
return 3.1415926*radius*radius;
}
int Square::printarea() const{
return radius*radius;
}
int Rectangle::printarea() const{
return radius*h;
}
int Trapezoid::printarea() const{
return (radius+r)*h/2;
}
int Triangle::printarea() const{
return radius*h/2;
}
int main()
{
Circle c(3);
Square s(3);
Rectangle rect(3,5);
Trapezoid t(4,10,3);
Triangle tri(4,3);
Shape* k[5]={&c,&s,&rect,&t,&tri};
for(int i=0;i<5;++i)
cout << k[i]->printarea()<<endl;
return 0;
}
输出:
28 9 15 35 6 创新思维全新写法,交流通过QQ:1790070573
300

被折叠的 条评论
为什么被折叠?



