1.将下面的程序修改、补充,写成一个完整、正确的程序,用保护继承方式。在程序中应包括输入数据的函数。
#include
#include
using namespace std;
class student
{
public://基类无公用成员
protected://基类保护成员
int num;
string name;
char sex;
};
class student1 :protected student //用protected方式声明派生类Student1
{
public:
void get_value1();
void display1();
private:
int age;
string addr;
};
void get_value1()
{
cin >> num >> name >> sex;
cin >> age >> addr;
}
void student1::display1()
{
cout << “num=” << num << endl;
cout << “name=” << name << endl;
cout << “sex=” << sex << endl;
cout << “age=” << age << endl;
cout << “addr=” << addr << endl;
}
int main()
{
student1 stud1;
stud1.get_value1();
stud1.display1();
return 0;
}
(1)修改后的程序代码:
#include<iostream>
#include<string>
using namespace std;
class student
{
public:
protected:
int num;
string name;
char sex;
};
class student1 :protected student
{
public:
void get_value();
void display();
private:
int age;
string addr;
};
void student1::get_value()
{
cin >> num >> name >> sex;
cin >> age >> addr;
}
void student1::display()
{
cout << "num=" << num << endl;
cout << "name=" << name << endl;
cout << "sex=" << sex << endl;
cout << "age=" << age << endl;
cout << "addr=" << addr << endl;
}
int main()
{
student1 stud;
cout << "输入num,name,sex,age,addr:" << endl;
stud.get_value();
cout << "这些数值如下:" << endl;
stud.display();
}
(2)运行结果:
2.修改上面1中的程序,改为用公用继承方式,使之能正确运行并得到正确的结果。
(1)公用继承方式代码:
#include<iostream>
#include<string>
using namespace std;
class student
{
public:
protected:
int num;
string name;
char sex;
};
class student1 :public student //公用继承方式
{
public:
void get_value();
void display();
private:
int age;
string addr;
};
void student1::get_value()
{
cin >> num >> name >> sex;
cin >> age >> addr;
}
void student1::display()
{
cout << "num=" << num << endl;
cout << "name=" << name << endl;
cout << "sex=" << sex << endl;
cout << "age=" << age << endl;
cout << "addr=" << addr << endl;
}
int main()
{
student1 stud;
cout << "输入num,name,sex,age,addr:" << endl;
stud.get_value();
cout << "这些数值如下:" << endl;
stud.display();
}
(2)运行结果: