1
4
public/private/protected访问器修饰符在编译时强制执行,而不是在运行时强制执行。segfault是运行时错误,而不是编译时错误。因此,在将来,如果您得到一个segfault,您可以确定它与访问级别无关。听起来您的困惑是基于访问修饰符是否直接、间接、传递等等。访问修饰符以最简单和直接的方式工作:它们只直接应用于该类中声明的函数或变量,并通过给定的类控制对这些项的访问。一旦您有权访问这样的项目,进一步的访问完全由该项目自己的访问修饰符决定。 SegFault通常表示内存访问非法。如果遇到SegFaults,请查看取消引用指针的位置(每当有*X或X->Y时)。SegFaults的常见原因包括取消对空值的引用、由一个数组访问关闭以及通过指针使用一个对象,在该指针中,相关对象已被超出范围删除。 |
2
2
对。友元规范允许testclasc访问testclasa的任何受保护或私有成员。这意味着它可以访问ClassB成员。之后,标准规则适用于testclasc可以对该成员做什么。而且由于method()是公共的testclass,所以可以调用它,就像它通过任何其他方式获得了testclassb实例一样。 关于SEG故障: public/protected/private/friend都是编译时限制。它们不应影响运行时代码的操作。 是这个吗? 准确的 对SEG故障进行编码?或者只是概念上类似的东西?如果不是完全相同的代码,那么您是否验证了所有指针在有问题的代码中都是有效的? |
3
1
只要类是明确可访问的,调用任何类的公共方法都是有效/合法的,并且我们有一个有效的对象表达式来访问它。事实上,这就是它最初被公开的原因。你的代码对我来说很好。 |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
rainer · 后台插入程序的初始化 1 年前 |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |