第五章

来源:互联网 发布:淘宝信用卡套现骗局 编辑:程序博客网 时间:2024/05/02 04:55
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.get_value_1();           stud1.display1( );                   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: public 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.get_value_1();                 stud1.display1( );                return 0; }5:class A                   {public:  void f1( );  int i; protected:  void f2();  int j; private:  int k;};class B: public A           {public:  void f3( ); protected:  int m; private:  int n;};class C: public B             {public:  void f4(); private:  int p;};int main(){A a1;                          B b1;                         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;                                };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 cout<<endl<<"original data:"<<endl; prof1.display();                                    cout<<endl<<"new data:"<<endl; prof1.change(1950,6,1);                          prof1.display();                                  return 0;}

0 0
原创粉丝点击