第五章

来源:互联网 发布:电脑录音软件 编辑:程序博客网 时间:2024/04/29 09:26


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
原创粉丝点击