如何访问一个类的保护成员

作者&投稿:陆瞿 (若有异议请与网页底部的电邮联系)
在类外声明的函数怎么样才能访问类中的保护成员?~

封装的意思就是不让访问了。但可以在保护成员的类里做一个公共方法,用它来返回保护成员。

你说的没错,但注意是子类的内部可是调用父类的protected成员,不是在别的包new一个子类,再去调用

代码?

先看一下示例:using System;
class Base
{
protected void F() {
Console.WriteLine("Base.F");
}
}
class Derived: Base
{
public class Nested
{
public void G() {
Derived d = new Derived();
d.F(); // ok
}
}
}
class Test
{
static void Main() {
Derived.Nested n = new Derived.Nested();
n.G();
}
}上例中,嵌套类 Derived.Nested 通过对一个 Derived 的实例进行调用,访问在 Derived 的基类 Base 中定义的受保护方法 F方法。这样就实现了 ^_^

一个类中的保护方法,可以用友元的一个方法来调用,例如:
class a
{
friend class k;protected:
bool err;
void pro()
{
cout << "there is pro in class a" << endl;
}};class k
{
public:
void priPro(a *a_ins)
{
a_ins->pro();
}
};int main(...)
{
...
k_ins.priPro(a *a_ptr);
}其中即使是这样:
class k
{
public:
void priPro()
{
a a_ins;
a_ins.pro();
}
};int main(...)
{
...
k_ins.priPro();
...
} 也是可以的

访问受保护的类只要是它的子类都可以访问的如果与他没什么关系的内要访问可以如你所说在里面定义另一个方法 不过这样没什么意义class xx{ protected void aa() {} public void comm() { this.aa(); }}class yy{ xx x = new xx(); private void aa(){ x.comm();}}

声明为友元类


中小企业?使用Sitelock网络安全套件保护您的网站
大约两个月前,我们还推出了一款网站备份产品,我们也在扩大这项业务。我们真正想做的是保护小企业,并成为他们在整个企业中值得信赖的安全顾问。因此,当我们考虑这样做时,它意味着审查技术妥协的来源。对于许多中小企业来说,这是员工的责任。那么我们如何保护这些员工呢?通过VPN和快速远程访问以及安全...

怎样做一个爱鸟护鸟的小卫士
增强了学生的爱鸟、护鸟意识,使学生懂得了保护鸟类就是保护环境,进而增强了学生的环境保护意识。七、利用黑板报这一宣传阵地,结合鸟文化教育,渗透环境教育。教室里的黑板报,学生每天都能看到,利用黑板报这个宣传阵地,对学生进行鸟文化教育,从而渗透环境教育,不失为一个有效的途径。班级定期出好专题黑板报,登载介绍鸟...

自然资源部:加强“四个治理” 推动生态保护和修复,将会有何意义?
能够加强对生态环境的治理,而且能够对自然环境进行修复,能够起到保护自然资源的效果,能够让我们加强对于自然环境的维护。

从保护野生动物的角度,写一则公益广告。不越过20个字
1、保护动物就是保护我们的同类。2、地球上没有动物,那是一个没有活力的世界。3、是先有鸟还是先有蛋,你不知道,我不知道,只有鸟知道;是鸟先消失还是蛋先消失,你知道,我知道,只有鸟不知道。4、动物是人类亲密的朋友,人类是动物信赖的伙伴。5、不要让我们的孩子只能在博物馆里才见到今天的动物。

求助!windows文件保护
开始-运行-输入下面的东西 cmd \/k reg add "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon" \/v SfcDisable \/t reg_dword \/d 0 \/f 回车-重启 问题解决

大数据时代下,如何更好的保护个人信息?
据知情人透露,知名咨询公司的人被警方带走调查,是因为他们大多涉及过度营销或者数据外泄,而且实际被调查的公司可能有十几家,甚至更多,只是消息还没传出来。在我们这个时代,个人信息变得愈发“透明”,随之而来的个人信息泄露风险,时刻挑动着我们的神经。为了更好的保护个人信息,自2017年6月1日起《...

学完第13课只有一个地球,你对保护地球有何认识,写几段话。(小练笔300...
但是因为人们随意毁坏自然资源,不顾后果地滥用化学品,不但使它们不能再生,还造成一系列生态灾难,给人类生春带来了严重的威胁。”是啊,人们太不爱惜地球了,保护地球要从一点一滴做起。可是,我发现在我身边,就有不爱惜地球的人。一个阳光明媚的星期天,刚学完英语的我看到对门的一个年轻的阿姨拎...

关于世博会的一个问题.
我也去答题访问个人页 展开全部 世博会中知识产权行政保护可能遇到的问题包括知识产权行政机关在常态工作中尚未解决的一般问题、在世博会期间可能遇到的特殊问题以及与世博会行政保护密切相关的其它问题等三个方面。以下就此进行探讨。 (一)知识产权行政保护常态工作中存在的问题。 我国现行知识产权行政保护本身还存在一...

原来让一个人变强大的最好方式,就是拥有一个想要保护的人
6.原来让一个人变强大的最好方式,就是拥有一个想要保护的人。 7.人生四大悲剧:穷得没钱做坏事,熟...1、有一个你爱的人真好,其实我一个人也挺好,人生短短几十年何不尝试一下孤独终老。 2、我用了五年...因为我知道,在你的世界里,我永远没有“访问权限”。 死去的人常被人思念,活着的人常被人遗忘。 ...

一个大逆不道的问题,花费大量资金保护地球其他珍惜物种的意义何在?例 ...
近几十年来,由于世界各国排入大气中的废气愈来愈多,酸雨已成为一个世界性的环境污染问题。 四是重大自然灾害造成的环境问题。由于地球内部和星球之间的运动所造成的个别突发事件,如火山爆发、特大地震、山体滑坡等,其影响经过多级反馈,逐级放大,最终也影响全球环境。 臭氧层:人类的保护层 众所周知,地球被一层大气...

龙马潭区18083297160: 如何访问一个类的保护成员 -
再融八味: 一个类中的保护方法,可以用友元的一个方法来调用,例如:class a { friend class k; protected: bool err; void pro() { cout << "there is pro in class a" << endl; } }; class k { public:void priPro(a *a_ins) { a_ins->pro(); } }; int main(...) {...k_ins.priPro(a *...

龙马潭区18083297160: VC中类受保护的数据应该怎么访问 -
再融八味: 受保护数据成员不能通过类对象或指针直接访问,可以在该类的子类里定义一个公有函数,通过公有函数访问.

龙马潭区18083297160: 请问一下,C++中类成员访问控制方式有哪几种啊?谢谢了! -
再融八味: 因为对类成员访问权限的控制,是通过设置成员的访问控制属性实现的.所以访问控制属性有以下三种:public,private和protected. 1、 公有类型成员用public关键字声明,任何一个来自类外部的访问都必须通过这种类型的成员来访问(“对象...

龙马潭区18083297160: 1.如何实现对类的对象成员的私有数据的访问? -
再融八味: public class TestBean{ private String title; public String getTitle() { return title; } public void setTitle(String title) { this.title=title; } }

龙马潭区18083297160: 在基类中声明为protected的成员到底要怎么访问 -
再融八味: protected成员只能被派生类访问.换句话说,派生类中可以访问基类的保护成员,注意,是基类保护成员,而你是要访问派生类对象的成员.请弄清楚类与对象的区别.在Sub类中,可以访问Basic::a,但不可以访问basic.a,不知你是否明白?

龙马潭区18083297160: 在类外声明的函数怎么样才能访问类中的保护成员? -
再融八味: 封装的意思就是不让访问了.但可以在保护成员的类里做一个公共方法,用它来返回保护成员.

龙马潭区18083297160: 在C++中我如何通过子类的友元函数访问父类的保护类型的成员 -
再融八味: C++基类的保护类型成员是完全被派生类所继承的,所以子类的友元函数是可以直接访问子类中的那些继承来的成员, 但是这与基类是没有关系的,友元函数只是一对一的关系.比如你基类Shape有个保护类成员radius, 子类Circle有个友元函数calcarea(), 那么calcarea函数就可以访问用Circle申明的对象的radius成员,但是不能访问用Shape申明的对象的radius成员.

龙马潭区18083297160: 请教C++中对类的私有成员的访问 -
再融八味: 这是在成员函数定义体内部调用对象的数据成员,是可以被编译器识别并允许的. 就像楼上说的,成员函数都不能调用,那哪里还能访问类的私有成员啊.

龙马潭区18083297160: C++ 两个无关系类 允许访问另一类的私有 保护成员 主函数怎么写 -
再融八味: int main(int argc, char* argv[]) { printf("Hello World!\n"); engine en; //定义一个对象 fuel fu; en.engine_fn(fu); //engine对象调用成员函数,fuel对象作为参数 fu.fuel_fn(en); return 0; }

龙马潭区18083297160: 使用别人写的一个类时,不能用其派生类访问其基类的保护成员函数该如何解决 -
再融八味: 你是用派生类的对象还是派生类的成员函数访问基类的保护成员函数的?如果是派生类的成员函数,不管何种方式继承都可以访问基类的保护成员 如果是派生类的对象,不管以何种方式继承都无法访问基类的保护成员

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网