C++第五章习题

本文通过四个示例详细讲解了C++中的继承概念,包括公用继承、私有继承和保护继承。每个示例展示了如何从基类继承并添加新的成员变量和函数,以及如何访问基类的成员。示例涵盖了不同继承方式下派生类对基类成员的访问权限和使用方法。
摘要由CSDN通过智能技术生成

/*1:将例5.1的程序片段补充和改写成一个完整、正确的程序,用公用继承方式。在程序中应包括输入数据的函数,在程序运行时输入numnamesexageaddr的值,程序应输出以上五个数据的值。*/

#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:

  voidget_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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值