Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oop 有没有办法结交[incr Tcl]类朋友?_Oop_Tcl_Private_Friend_Incr Tcl - Fatal编程技术网

Oop 有没有办法结交[incr Tcl]类朋友?

Oop 有没有办法结交[incr Tcl]类朋友?,oop,tcl,private,friend,incr-tcl,Oop,Tcl,Private,Friend,Incr Tcl,有没有一种方法可以让你的班级之间建立友谊 考虑下面的代码 package require Itcl ::itcl::class A { private { proc f { } { puts "==== A::f" } } } ::itcl::class B { public { proc g { } { puts "==== want to be able to call A::f" }

有没有一种方法可以让你的班级之间建立友谊

考虑下面的代码

package require Itcl

::itcl::class A {
   private {
      proc f { } {
         puts "==== A::f"
      }
   }
}

::itcl::class B {
   public {
      proc g { } {
         puts "==== want to be able to call A::f"
      }
   }
}

我希望
A::f
A
之外不可见,但
B
的函数除外。我如何才能做到这一点?

Itcl不提供朋友

您可以通过如下方式构造调用来绕过此问题:

namespace inscope A {A::f}