我如何创build一个私人的构造函数,应该只调用该类的静态函数而不是从其他地方?
来自C ++的背景,这对我来说是一个惊喜。 在C ++中,使虚拟function保密是一个很好的做法。 来自http://www.gotw.ca/publications/mill18.htm :“指导方针2:倾向于将虚拟function私人化”。 我还引用了来自Knights-knaves-protected-and-internal的 Eric Lippert的博客: 私有虚拟方法在C#中是非法的,这让我非常沮丧。 如果有的话,我会完全使用这个function。 我明白,在C#中,您将无法重写派生(但不是嵌套)类中的私有虚拟方法。 这是为什么? 在C ++中,访问说明符与是否可以重写函数无关。
所以即时通讯生成2048 RSA密钥对。 但是当我看私钥长度只有1232字节。 这与2048有什么关系呢?还是2048就是模数的大小?
为什么C ++有任何人都可以调用的public成员和friend声明, 这些声明将所有 private成员公开给定的外部类或方法,但是没有提供给给定调用者公开特定成员的语法? 我想用一些例程来表示接口,只能由已知的调用者调用,而不必让这些调用者完全访问所有的私有,感觉这是一个合理的想法。 最好的我可以自己(下)和其他人的build议到目前为止围绕不同的间接性的习语/模式,我真的只想要一个单一的 ,简单的类定义,明确指出什么来电者(比我更细) , 我的孩子 ,或绝对任何人 )可以访问哪些成员。 以下expression概念的最佳方式是什么? // Can I grant Y::usesX(…) selective X::restricted(…) access more cleanly? void Y::usesX(int n, X *x, int m) { X::AttorneyY::restricted(*x, n); } struct X { class AttorneyY; // Proxies restricted state to part or all of Y. private: void restricted(int); // Something preferably selectively […]
编写下面的代码时,编译器不会抱怨? public class MyClass { private int count; public MyClass(int x){ this.count=x; } public void testPrivate(MyClass o){ System.out.println(o.count); } } 即使它是testPrivate编写的同一类的实例,它不应该在System.out.println(o.count)给出编译错误吗? 毕竟,我试图直接访问一个私有variables。 代码甚至运行良好。
我已经阅读了几篇关于这方面的文章,我只是想看看我是否正确理解这一点: 如果您使用私有API,苹果将拒绝您的应用程序… “私有API”和“非私有API”之间的主要区别是什么? “非私有”API是否仅由苹果提供和validation的API? 是不是一个API只是一个与框架交互的方式,一个框架只是一个封装的类/标题,人们可以用于琐碎的目的? 这不是说我不能在我的应用程序中重复使用任何人的代码(Apple除外)? 如果这是真的,每当程序员自己定制类和方法时,是不是在技术上为他的具体目的而devise一个迷你框架呢? 那么这是不是意味着他正在使用他自己的私人API? 甚至在我的类/方法中使用别人的类/方法,他们甚至可以说出不同,为什么这会成为一个问题呢? 我对此的理解听起来很荒谬,不相信我理解什么是“私人API”是正确的。 我确实读过这是为了防止API的任何变化,可能导致您的应用程序function失常。 这是否意味着API在运行时间被链接(而不是编译时间),并且可以自动更新而不知道或者什么? (请参阅我原本以为API /框架在编译的时候就被设置为石头,也许这就是我错误的地方) 有人可以帮我吗? 我对这个政策非常困惑。 谢谢!
在C ++中,我想不出一个我想从基类inheritanceprivate / protected的情况: class Base; class Derived1 : private Base; class Derived2 : protected Base; 它真的有用吗?
Ruby中的方法可见性(公共,受保护和私有方法)已经在这篇博文中得到很好的解释。 但是在Ruby on Rails中,由于框架的设置方式,它和普通的Ruby应用程序看起来略有不同。 那么,在Rails模型,控制器,帮助器,testing等方面,何时/不适合使用受保护或私有方法? 编辑 :感谢迄今为止的答案。 我理解Ruby中的protected和private的概念,但是我更多地了解这些types的可见性在Rails应用程序(模型,控制器,帮助程序,testing)的各个环境中使用的典型方式。 。 例如,公共控制器方法是操作方法,应用程序控制器中的受保护方法用于需要由多个控制器访问的“辅助方法”。
有人告诉我,在class级的公共或私人领域宣布一个朋友class是有区别的,但我似乎无法find关于这个在线的任何东西,我不知道他们知道他们在说什么。 我的意思是区别: class A { public: friend class B; }; 和 class A { private: //or nothing as the default is private friend class B; }; 有区别吗?
我在Github上有一个私人存储库,用于我正在进行的一个项目。 直到现在,我只能在家用台式机上工作,但是我只是买了一台笔记本电脑,并试图进行设置,以便我可以从任一台计算机上处理项目,并推/拉变更。 我为笔记本电脑的Github帐户添加了一个新的SSH密钥,并成功克隆并修改了我设置的公共testing回购。 但是,我无法克隆私人回购。 在命令行中有什么特别的事情需要我去克隆一个私人的回购? 我是否需要为我的笔记本电脑设置一个新的GitHub帐户,并将自己设置为合作伙伴? 我使用的命令是git clone git://github.com/myusername/reponame.git