protected相关内容
给出示例代码: class Base { public: bool pub; protected: bool prot; }; class Derived : private Base { friend class MyFriend; }; class MyFriend { Derived _derived; void test() { // Does st
..
我试图避免使用相同的内部数据创建一个类的多个实例.我尝试了使用单独的类来构建MCode的实现,但是尝试保护MCode构造函数却无法正常工作,因此我回到了该实现.我想知道这是一个好的设计还是有什么更好的解决方案? public class MCode : IEquatable { private readonly static List Instances
..
我有以下扩展类型的代码(在F#中),它调用从其继承的类的受保护方法(在C#中) 但我得到了例外(见下文).有解决方法吗? let getPagereference id = this.ConstructPageReference(id) 成员或对象构造函数'ConstructPageReference'无法访问.私有成员只能在声明类型内访问.受保护的成员只能从扩展类型访问,而不能
..
我正在尝试一个项目以在内部函数中使用私有值。过去我只使用公共参数,但是我注意到使用尽可能多的私有参数时,混淆处理的效果更好。 我的问题是关于父/子类的。 在我的主类中,我定义所有参数如下: 公共类MyFatherClass { private long id = -1; 公共长ID {获取{返回this.id; }设置{this.id = value; }} ...
..
我写了以下代码: 公共类A { 受保护的字符串Howdy =“ Howdy!”; } 公共类B:A { public void CallHowdy() { A a = new A(); Console.WriteLine(a.Howdy); } } 现在,在 VS2010 会导致以下编译错误: 无法通过类型的限定符访问受保护的
..
这可能是一个愚蠢的问题,但我不明白: 我有一门叫做Card的课程。我想使用MemberWiseClone()进行浅层克隆。 理论卡继承自Object。因此,即使MWC()受保护,它也应该能够使用MemberWiseClone()?? 我遗失/遗忘了什么吗? 解决方案 卡可以使用它。 class Card { public Card Clone() { ret
..
我写了一个简短的程序来说明我的学校项目的继承原理,但是我遇到了一个奇怪的问题。这是我的代码:(我已经省略了所有不是问题的代码) class Car {受保护的 : 的double fuelLevel; 公众: 无效的fuelUp(double); }; void fuelUp(double fuel) { Car :: fuelLevel + = fuel; }
..
我有以下课程: class基础{受保护的 : int myint; }; 类派生:公共基础{ 公共: bool运算符==(Base& obj){ if(myint == obj.myint) 返回true; 否则 返回false; } }; 但是当我编译它时,会出现以下错误: int Base :: myint 在此上下文中受保护
..
假设基类 A 定义了受保护的成员。派生类 B 使用此成员。 A类 { public: A(int v):value(v){} 受保护: int值; }; B类:公共A { 公共: B(int v):A(v){} void print()const; void compare_and_print(const A& other)const; };
..
我最近发现,派生类中的方法只能通过派生类(或其子类之一)的实例访问基类的受保护实例成员: class基础 { 受保护的虚拟void Member(){} } class MyDerived:基础 { //错误CS1540 void Test(Base b){b.Member(); } //错误CS1540 void Test(YourDerived yd){yd
..
我在访问受保护的属性时遇到问题。我正在尝试查询wordpress的数据库表。以下是我的代码: get_var(“ SELECT max(quiz_id)as quiz_id FROM $ table_name”); $ res
..
还有另一种方法可以返回不返回受保护数组的自定义属性的元值 foreach ($order->get_items() as $item_key => $item_values) { $item_id = $item_values->get_id(); $item_meta_data = $item_values->get_meta_data(); var_dump(
..
我最近一直在处理一些类文件,并且我注意到成员变量已在受保护的静态模式下设置,例如受保护的静态$ _someVar,并以static :: $$ someVar的方式访问. 我了解可见性的概念,将某些内容设置为受保护的静态将确保成员变量只能在超类或派生类中访问,但是我只能在静态方法中访问受保护的静态变量吗? 谢谢 解决方案 如果我理解正确,那么您指的是class A { prot
..
考虑以下代码: #include 使用std :: endl; 使用std :: cout; template B类{受保护的 : T值; B *点; public: B(T t):值(t),ptr(0){} }; template D类:公共B {T public:
..
我在两个不同的软件包中有以下两个类。我的实例方法的访问修饰符受到保护,这意味着相同或不同程序包中的任何子类都可以访问它吗?但是,在Eclipse中,我在第17行的子类 Cat 上看到以下消息 看不见动物类型的方法testInstanceMethod() 我的上级和子类代码 包继承; 公共类Animal { public static void testCl
..
我有一个内部抽象类 InternalClassBase 和两个(也是内部)类 InternalClass1 和 InternalClass2 ,继承自 InternalClassBase 。 我还有一个公共抽象类 PublicClassBase 和两个(也是公共的)类 PublicClass1 和 PublicClass2 ,该继承自 PublicClassBase 。 PublicC
..
通常,根据OOP范例,我对封装的理解基本上是: 如果成员是私有成员,则只能 如果成员受保护,则只能由基类和任何派生类访问。 如果成员是公共的,任何人都可以访问它。 如果我有嵌套类,可以声明一个属性只能访问该类及其嵌套的父类?例如: 公共类ContainerClass 公共类NestedClass 将myInt保护为整数'
..
这看起来很傻,但是我真的很困惑。请参见以下代码: package com.one; 公共类SuperClass { protected void fun(){ System.out.println(“ base fun”); } } ---- 包裹com.two; import com.one.SuperClass; 公共类SubClass扩展了SuperClass
..
F#不支持受保护的方法的定义。在此说明为什么 F#用抽象类中定义的抽象方法替换虚拟方法(请参见此处)。 我想知道是否有一种方法可以阻止派生类外部访问抽象方法。 解决方案 像PatrykĆwiek一样,我也不认为这是可能的,但这是一种选择: 从设计模式中,我们知道我们应该偏向继承而非继承。以我的经验,继承可以做的所有事情,组成也可以做的事情。例如,您始终可以用策略替换模板方法。
..
我正在尝试编写一个抽象类(或接口),以强制扩展类实现受保护的静态函数。 但这对于抽象类和接口都是不可能的。 错误: 静态函数不应该是抽象的 必须省略接口成员的访问类型 任何想法如何实现? 更新 目的基本上是静态地调用public函数。这样,无需实例化该类。 也不必从类外部代码中调用_doSpecificStuff()。 抽象类Foo { 公共静态函数d
..