草庐IT

UAC-protected

全部标签

PHP 无法访问 protected 属性错误

我看不出有什么问题,但我偶尔会在日志中看到上述异常。怎么了?PHPFatalerror:CannotaccessprotectedpropertyException::$messagein/web/index.phponline23在第23行我有,echo'message.']]>'; 最佳答案 使用$e->getMessage()而不是$e->message因为message是一个protected属性:) 关于PHP无法访问protected属性错误,我们在StackOverflow

PHP 类常量——公共(public)的、私有(private)的还是 protected ?

假设const属性自动公开,我是否正确?有没有办法将它们设为私有(private)或protected?提前致谢。 最佳答案 从历史上看,只要类被加载,类常量总是可以公开访问的,并且没有办法改变这一点。自PHP7.1起,它们默认保持公开状态,但accessmodifiersmaynowbeapplied.以下是发行说明中的​​示例: 关于PHP类常量——公共(public)的、私有(private)的还是protected?,我们在StackOverflow上找到一个类似的问题:

java - protected 字段对子类不可见

我正在编写一个直接扩展android.view.View的自定义View。如果我尝试访问字段mScrollX或mScrollY,我会看到字段“无法解析或不是字段”的错误。sourcecodeforandroid.view.View具有声明为protected的mScrollX、mScrollY和类似变量。我的直接子类如何无法访问其父类的protected字段?(像ScrollView这样的类显然可以。)附:我意识到我可以调用getScrollX(),但我想更新这些字段;调用setScroll()有我不想要的副作用。 最佳答案 这是因

c++ - protected 继承是否允许派生类访问其基类的私有(private)成员?

我真的对私有(private)继承和protected继承感到困惑。1)在protected继承中,公共(public)成员和protected成员成为派生类中的protected成员。在私有(private)继承中,一切都是私有(private)的。但是,派生类永远不能访问基类的私有(private)成员,对吗?在这两种情况下,派生类都可以访问公共(public)成员和protected成员。那正确吗?2)我注意到基类的私有(private)成员永远不会被派生类触及。那么为什么私有(private)成员会被继承呢? 最佳答案 您在

c++ - 从 C++ 中的测试代码访问 protected 成员函数

我一直在绞尽脑汁想从C++中的一些测试代码中访问protected成员函数的最佳方法,这是我的问题://inFoo.hClassFoo{protected:voidDoSomething(Datadata);}//inBlah.hClassBlah{public:Foofoo;Datadata;};//intestcode...Blahblah;blah.foo.DoSomething(blah.data);//Here'smyproblem!目前为止的一些可能的解决方案:让测试代码类成为Foo的friend,但这会污染Foo与测试代码将DoSomething设为公共(public)函

C++:可以继承类及其 protected 成员类型吗?

以下代码是否符合C++标准?structB{protected:structType{};};structD:B,B::Type{};intmain(){Dd;return0;}我试过CompilerExplorer.MSVC(VS2017RTW)接受它。gcc(7.3)和clang(6.0.0)拒绝它。 最佳答案 代码符合标准,从C++11开始,但不在C++03中。C++11到C++17在[class.access]部分的介绍中这样说,成员访问控制:Allaccesscontrolsinclause[class.access]af

c++ - 为什么我不能从派生类的实例访问 protected 成员?

我已经有一段时间没学过C++了,不明白为什么以下方法不起作用:classA{protected:intnum;};classB:publicA{};main(){B*bclass=newB();bclass->num=1;}编译生成:errorC2248:'A::num':cannotaccessprotectedmemberdeclaredinclass'A'派生类不应该访问protected成员吗?我错过了什么? 最佳答案 是的,派生类可以访问protected成员,但您在main()函数中访问它,该函数位于层次结构之外。如果你

c++ - C++中 union 中的 'protected'有什么意义

protected成员或函数有什么用处?您不能从union继承,因此没有子节点可以访问它。它是提供功能用途还是仅仅因为移除它很麻烦而存在? 最佳答案 union中的protected变得完全等同于private,但这种允许不会造成任何损害并避免额外的特殊情况处理和额外的差异union和struct/class(在标准中一起描述)。老实说,我认为可以在union中使用protected只是为了不将第umteenth特殊情况添加到标准中;也许标准委员会甚至没有想到要区分这种行为,因为这是一个非常奇怪的极端情况,但按照目前的规定并没有什么

c++ - 为什么 GoF 建议在 C++ 模板方法模式实现中使用 protected (而不是私有(private))虚拟方法?

来自四人组的模板方法模式:Threeimplementationissuesareworthnoting:UsingC++accesscontrol.InC++,theprimitiveoperationsthatatemplatemethodcallscanbedeclaredprotectedmembers.Thisensuresthattheyareonlycalledbythetemplatemethod.Primitiveoperationsthatmustbeoverriddenaredeclaredpurevirtual.Thetemplatemethoditselfsh

c++ - union 内的 'protected' 关键字有什么用?

这个问题在这里已经有了答案:Whatisthepointof'protected'inaunioninC++(1个回答)关闭7年前。我检查了protected访问说明符可以在class、struct以及union中使用。我知道protected访问说明符意味着成员将是私有(private)的,但对派生类可见。我无法想到一个合理的用例,其中union内的protected关键字会很有用,因为union不能成为继承层次结构的一部分。既然在union中private和protected没有区别,为什么还要在union中允许protected呢? 最佳答案