永发信息网

关于派生类的调用问题

答案:2  悬赏:20  手机版
解决时间 2021-04-26 22:25
  • 提问者网友:抽煙菂渘情少年
  • 2021-04-26 08:39

#include <iostream>
#include <string>

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;
string name;
char sex;
};
class Studest1: public Student
{

public:

void get_value1()

{
cin>>age>>addr;
}

void display_1()
{
cout<<"age:"<<age<<endl;
cout<<"address:"<<addr<<endl;

}

private:

int age;
string addr;
};

int main()
{
Student1 stud;//这里为啥说Studest1没有定义呢
stud.get_value();
stud.get_value1();
stud.display();
stud.display1();
return 0;

}

最佳答案
  • 五星知识达人网友:话散在刀尖上
  • 2021-04-26 10:13

两个地方:


第一,派生类的名称和main函数中的类型名不一样.


第二:派生类中的成员函数void display_1()和main函数中调用的名称不一样.



int main()
{
Studest1 stud;//这里为啥说Studest1没有定义呢
stud.get_value();
stud.get_value1();
stud.display();
stud.display_1();
return 0;

}

全部回答
  • 1楼网友:天凉才是好个秋
  • 2021-04-26 11:15

#include <iostream> #include <string>

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; string name; char sex; }; class Student1: public Student {

public:

void get_value1()

{ cin>>age>>addr; }

void display_1() { cout<<"age:"<<age<<endl; cout<<"address:"<<addr<<endl;

}

private:

int age; string addr; };

int main() { Student1 *stud=new Student1();//这里为啥说Studest1没有定义呢 stud->get_value(); stud->get_value1(); stud->display(); stud->display_1(); return 0;

} 我给你修改了一下

有几处错误

那个没定义是因为你上面的类名Student1写错了

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯