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
中不存在变量?注意:我正在使用旧编译器进行大学项目。
答案 0 :(得分:1)
如果学生想要访问人员字段,最简单的方法是使他们受保护,这样所有派生类的人都可以访问它们。
另一种方法是使用 public getter / setter方法(你甚至可以设置它们受保护,但此时最好使用受保护的字段),这样所有类都可以查看和设置Person的字段。登记/>
实际上,即使变量在基类中声明为 private ,它也存在于派生类中(Student在任何情况下都是Person,因此必须初始化Person中的字段)但它可以&# 39;她可以联系到她。
答案 1 :(得分:0)
A
是Student
类型的对象,可以访问类protected
的{{1}}或public
成员函数和数据成员。现在回答你的查询,你试图使用类Person
的函数使用类Person
的对象,这是可能的(公开继承),因为函数和那些私有数据成员是同一个的一部分class(Student
),所以这些函数可以使用变量。
注意:Person
,private
和public
成员在同一个班级中无效。