先决条件: c语言中的访问修饰符 , 遗产
null
1.输出是什么?
C++
#include <iostream> using namespace std; class access { int a = 10; void disp() { cout<< "a: " << a; } }; int main() { access a; a.disp(); return 0; } |
输出:
Error
描述: 如果未指定访问说明符,则默认情况下它们被视为私有。私有变量只能在类内访问,不能使用访问。如果不是公共的话,也要接线员。
2.输出是什么?
C++
#include <iostream> using namespace std; class access { private : int a_pri = 10; protected : int b_pro = 20; public : int c_public = 30; }; int main() { access a; cout<< "private: " << a.a_pri; cout<< "protected: " << a.b_pro; cout<< "public: " << a.c_public; return 0; } |
输出:
error
描述: 不能在类之外访问私有变量和受保护变量。
3.输出是什么?
C++
#include <iostream> using namespace std; class access { protected : int b_pro = 20; public : int c_public = 30; }; class access_modifier: public access { public : void disp() { cout<< "protected: " << b_pro << endl; cout<< "public: " << c_public << endl; } }; int main() { access_modifier a; a.disp(); return 0; } |
输出:
protected: 20public: 30
描述: 受保护的变量只能在从中派生的数据库中访问。在这里,我们不能打印_pri,因为它是私有成员,并且无论继承类型如何,都不能在派生类中访问它们。
4.输出是什么?
C++
#include <iostream> using namespace std; class rectangle { int x, y; public : void val ( int , int ); int area () { return (x * y); } }; void rectangle::val ( int a, int b) { x = a; y = b; } int main () { rectangle rect; rect.val (3, 4); cout << "rect area: " << rect.area(); return 0; } |
输出:
rect arera: 12
描述: 由于area()和val()都声明为public,因此可以在类之外访问它们。
5.产量是多少?
C++
#include <iostream> using namespace std; class access { public : int a_public = 30; }; class access_modifier: private access { }; class inheritance: public access_modifier { public : void disp() { cout<< access::a_public; } }; int main() { inheritance a; a.disp(); return 0; } |
输出: 错误 描述: 当一个类被派生为私有继承时,它的变量就变成私有的,并且只能在该类中访问,而在进一步的继承中,它们是不可访问的。
本文由 哈里什·库马尔 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 写极客。组织 或者把你的文章寄去评论-team@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。 如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END