在c ++中的继承

时间:2017-10-26 04:05:37

标签: c++ inheritance

new_node->word

有以下查询:

  • 如果类#include<iostream.h> #include<conio.h> #include<stdio.h> class person { private: char name[50]; int age; public: void get_name() { cout<<"Enter name"<<endl; gets(name); } void put_name() { cout<<"Name : "; puts(name); cout<<endl; } void get_age() { cout<<"Enter age"<<endl; cin>>age; } void put_age() { cout<<"Age : "<<age<<endl; } }; class student : public person { private : int roll; public : void get_roll() { cout<<"Enter roll"<<endl; cin>>roll; } void put_roll() { cout<<"Roll : "<<roll<<endl; } }; int main() { student A; A.get_name(); A.get_roll(); A.get_age(); A.put_name(); A.put_age(); A.put_roll(); getch(); clrscr(); return 0; } 中的私有成员未在类person中继承,那么类student的实例如何在其中存储值?
  • 不应该在班级student中不存在变量?

注意:我正在使用旧编译器进行大学项目。

2 个答案:

答案 0 :(得分:1)

如果学生想要访问人员字段,最简单的方法是使他们受保护,这样所有派生类的人都可以访问它们。
另一种方法是使用 public getter / setter方法(你甚至可以设置它们受保护,但此时最好使用受保护的字段),这样所有类都可以查看和设置Person的字段。登记/> 实际上,即使变量在基类中声明为 private ,它也存在于派生类中(Student在任何情况下都是Person,因此必须初始化Person中的字段)但它可以&# 39;她可以联系到她。

答案 1 :(得分:0)

AStudent类型的对象,可以访问类protected的{​​{1}}或public成员函数和数据成员。现在回答你的查询,你试图使用类Person的函数使用类Person的对象,这是可能的(公开继承),因为函数和那些私有数据成员是同一个的一部分class(Student),所以这些函数可以使用变量。

注意:Personprivatepublic成员在同一个班级中无效。