C++程序的输出集28(访问修饰符)

先决条件: 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
喜欢就支持一下吧
点赞12 分享