C++课后习题作业

来源:互联网 发布:软件测试有前途吗天涯 编辑:程序博客网 时间:2024/06/06 00:42
<img src="http://img.blog.csdn.net/20150518220346531?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcGlwaTA5MDgwN2xpbGk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /><img src="http://img.blog.csdn.net/20150518220330572?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcGlwaTA5MDgwN2xpbGk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /><img src="http://img.blog.csdn.net/20150518220319324?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcGlwaTA5MDgwN2xpbGk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /><img src="http://img.blog.csdn.net/20150518220224330?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcGlwaTA5MDgwN2xpbGk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /><img src="http://img.blog.csdn.net/20150518220247110?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcGlwaTA5MDgwN2xpbGk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /><img src="http://img.blog.csdn.net/20150518220139605?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcGlwaTA5MDgwN2xpbGk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /><img src="http://img.blog.csdn.net/20150518220124458?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcGlwaTA5MDgwN2xpbGk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />1:#include <iostream>using namespace std;class Student{public:  void get_value()   {cin>>num>>name>>sex;}  void display( )    {cout<<"num: "<<num<<endl;     cout<<"name: "<<name<<endl;     cout<<"sex: "<<sex<<endl;} private :   int num;   char name[10];   char sex;};   class Student1: public Student {public:   void get_value_1()    {get_value();     cin>>age>>addr;}   void display_1()   {   cout<<"age: "<<age<<endl;          //引用派生类的私有成员,正确。       cout<<"address: "<<addr<<endl;}    //引用派生类的私有成员,正确。  private:       int age;       char addr[30]; };int  main(){Student1 stud1;  stud1.get_value_1();  stud1.display();  stud1.display_1();  return 0;}2:#include <iostream>using namespace std;class Student{public:  void get_value()   {cin>>num>>name>>sex;}  void display( )    {cout<<"num: "<<num<<endl;     cout<<"name: "<<name<<endl;     cout<<"sex: "<<sex<<endl;} private :   int num;   char name[10];   char sex;};   class Student1: private Student {public:   void get_value_1()    {get_value();     cin>>age>>addr;}   void display_1()       {display();       cout<<"age: "<<age<<endl;        //引用派生类的私有成员,正确。       cout<<"address: "<<addr<<endl;}    //引用派生类的私有成员,正确。  private:       int age;    char addr[30]; };int main() {Student1 stud1;  stud1.get_value_1();  stud1.display_1();  return 0;}3:#include <iostream>using namespace std;class Student                        //声明基类{public:                             //基类公用成员  void get_value();  void display( ); protected :                         //基类保护成员    int num;    char name[10];    char sex;};void Student::get_value() {cin>>num>>name>>sex;}void Student::display( ) {cout<<"num: "<<num<<endl;  cout<<"name: "<<name<<endl;  cout<<"sex: "<<sex<<endl; }class Student1: protected Student              //声明一个保护派生类{public:   void get_value_1();   void display1( );private:   int age;                             char addr[30];};void Student1::get_value_1() {get_value();  cin>>age>>addr; }void Student1::display1( )   {cout<<"num: "<<num<<endl;         //引用基类的保护成员   cout<<"name: "<<name<<endl;       //引用基类的保护成员   cout<<"sex: "<<sex<<endl;         //引用基类的保护成员   cout<<"age: "<<age<<endl;         //引用派生类的私有成员   cout<<"address: "<<addr<<endl;    //引用派生类的私有成员  }int main( ) {Student1 stud1;                      //stud1是派生类student1类的对象  stud1.get_value_1();                 //调用派生类对象stud1的公用成员函数  stud1.display1( );                   //调用派生类对象stud1的公用成员函数  return 0; }4: #include <iostream>using namespace std;class Student                        //声明基类{public:                             //基类公用成员  void get_value();  void display( ); protected :                         //基类保护成员    int num;    char name[10];    char sex;};  void Student::get_value() {cin>>num>>name>>sex;}void Student::display( ) {cout<<"num: "<<num<<endl;  cout<<"name:"<<name<<endl;  cout<<"sex:"<<sex<<endl; }class Student1: protected Student              //声明一个公用派生类{public:   void get_value_1();   void display1( ); private:   int age;                             char addr[30];};void Student1::get_value_1() {cin>>age>>addr;}void Student1::display1( )  {cout<<"age:"<<age<<endl;   cout<<"address:"<<addr<<endl;  }int main( ) {Student1 stud1;                      //stud1是派生类student1类的对象  stud1.get_value();stud1.get_value_1();  stud1.display( );  stud1.display1();                  //合法。display1是派生类中的公用成员函数  return 0; }5:class A                   //A为基类{public:  void f1( );  int i; protected:  void f2();  int j; private:  int k;};class B: public A            //B为A的公用派生类{public:  void f3( ); protected:  int m; private:  int n;};class C: public B              //C为B的公用派生类{public:  void f4(); private:  int p;};int main(){A a1;                         //a1是基类A的对象 B b1;                         //b1是派生类B的对象 C//c1是派生类C的对象 return 0;}6:#include <iostream>using namespace std;class A{public:  void f1( ); protected:  void f2(); private:  int i;};class B: public A{public:  void f3( );  int k; private:  int m;};class C: protected B{public:  void f4(); protected:  int n; private:  int p;};class D: private C{public:  void f5(); protected:  int q; private:  int r;};int main(){A a1; B b1;     C c1; D d1; return 0;}7:#include <iostream>using namespace std;class A {  public:   A(){a=0;b=0;}   A(int i){a=i;b=0;}   A(int i,int j){a=i;b=j;}   void display(){cout<<"a="<<a<<" b="<<b;}  private:   int a;   int b; };class B  : public A {  public:   B(){c=0;}   B(int i):A(i){c=0;}   B(int i,int j):A(i,j){c=0;}   B(int i,int j,int k):A(i,j){c=k;}   void display1()    {display();     cout<<" c="<<c<<endl;    }   private:    int c;};int main(){   B b1;    B b2(1);    B b3(1,3);    B b4(1,3,5);    b1.display1();         b2.display1();    b3.display1();    b4.display1();return 0;}8:#include <iostream>using namespace std;class A {  public:   A(){cout<<"constructing A "<<endl;}   ~A(){cout<<"destructing A "<<endl;} };class B  : public A {  public:   B(){cout<<"constructing B "<<endl;}   ~B(){cout<<"destructing B "<<endl;}};class C  : public B {  public:   C(){cout<<"constructing C "<<endl;}   ~C(){cout<<"destructing C "<<endl;}};int main(){ C c1;  return 0;}           9:#include<string>#include <iostream>using namespace std;class Teacher {public:   Teacher(string nam,int a,char s,string tit,string ad,string t);   void display();  protected:    string name;    int age;    char sex;    string title;    string addr;    string tel;};Teacher::Teacher(string nam,int a,char s,string tit,string ad,string t):     name(nam),age(a),sex(s),title(tit),addr(ad),tel(t){ }void Teacher::display()     {cout<<"name:"<<name<<endl;      cout<<"age"<<age<<endl;      cout<<"sex:"<<sex<<endl;      cout<<"title:"<<title<<endl;      cout<<"address:"<<addr<<endl;      cout<<"tel:"<<tel<<endl;      }class Cadre {public:Cadre(string nam,int a,char s,string p,string ad,string t);   void display();  protected:   string name;   int age;   char sex;   string post;   string addr;   string tel; };Cadre::Cadre(string nam,int a,char s,string p,string ad,string t):     name(nam),age(a),sex(s),post(p),addr(ad),tel(t){}void Cadre::display()    {cout<<"name:"<<name<<endl;     cout<<"age:"<<age<<endl;     cout<<"sex:"<<sex<<endl;     cout<<"post:"<<post<<endl;     cout<<"address:"<<addr<<endl;     cout<<"tel:"<<tel<<endl;    }class Teacher_Cadre:public Teacher,public Cadre {public:   Teacher_Cadre(string nam,int a,char s,string tit,string p,string ad,string t,float w);   void show( );  private:    float wage; };Teacher_Cadre::Teacher_Cadre(string nam,int a,char s,string t,string p,string ad,string tel,float w):  Teacher(nam,a,s,t,ad,tel),Cadre(nam,a,s,p,ad,tel),wage(w) {}void Teacher_Cadre::show( )    {Teacher::display();     cout<<"post:"<<Cadre::post<<endl;     cout<<"wages:"<<wage<<endl;     }int main( ) {Teacher_Cadre te_ca("Wang-li",50,'f',"prof.","president","135 Beijing Road,Shanghai","(021)61234567",1534.5);  te_ca.show( );  return 0;}10:#include <iostream>#include <cstring>using namespace std;class Teacher                                //教师类 {public:  Teacher(int,char [],char);               //声明构造函数    void display();                          //声明输出函数  private:   int num;   char name[20];   char sex;  };Teacher::Teacher(int n,char nam[],char s)    //定义构造函数 {num=n;  strcpy(name,nam);  sex=s;}void Teacher::display()                      //定义输出函数 {cout<<"num:"<<num<<endl;  cout<<"name:"<<name<<endl;  cout<<"sex:"<<sex<<endl;}class BirthDate                               //生日类 {public:    BirthDate(int,int,int);                   //声明构造函数    void display();                           //声明输出函数    void change(int,int,int);                 //声明修改函数  private:    int year;    int month;    int day;};BirthDate::BirthDate(int y,int m,int d)       //定义构造函数 {year=y;  month=m;  day=d; }void BirthDate::display()                     //定义输出函数 {cout<<"birthday:"<<month<<"/"<<day<<"/"<<year<<endl;}void BirthDate::change(int y,int m,int d)     //定义修改函数 {year=y;  month=m;  day=d; }class Professor:public Teacher                         //教授类 {public:    Professor(int,char [],char,int,int,int,float);    //声明构造函数    void display();                                   //声明输出函数    void change(int,int,int);                         //声明修改函数   private:    float area;    BirthDate birthday;                               //定义BirthDate类的对象作为数据成员 };Professor::Professor(int n,char nam[20],char s,int y,int m,int d,float a): Teacher(n,nam,s),birthday(y,m,d),area(a){ }          //定义构造函数void Professor::display()                             //定义输出函数{Teacher::display(); birthday.display(); cout<<"area:"<<area<<endl;}void Professor::change(int y,int m,int d)             //定义修改函数 {birthday.change(y,m,d); }int main(){Professor prof1(3012,"Zhang",'f',1949,10,1,125.4);   //定义Professor对象prof1 cout<<endl<<"original data:"<<endl; prof1.display();                                     //调用prof1对象的display函数 cout<<endl<<"new data:"<<endl; prof1.change(1950,6,1);                              //调用prof1对象的change函数 prof1.display();                                     //调用prof1对象的display函数 return 0;}

0 0
原创粉丝点击