我在面向对象的Turbo Pascal(示例)中有以下代码。还有一些问题,对你们来说,他们有Turbo Pascal的知识 - 因为我找不到任何答案。
type PMyNumber =^TMyNumber;
TMyNumber = object(TObject)
Number1:real;
Number2:real;
constructor Init(x,y:real);
end;
问题#1
我看到像new(PMyNumber,Init(-4,0))
这样的代码 - 它是某种类型的对象构造函数吗?
问题#2
someVariable := PMyNumber(MyColl[myIndex]^.At(j))^.Number1
我尝试查看MyColl[myIndex]^.At(j)
的值。为此,我打开Evaluate/modyfy
窗口,但点击Evaluate
按钮后,我收到以下错误 - 出了什么问题?
此外(我不认为这里需要)
字符:
问题#3
如何读取指针变量值?
答案 0 :(得分:0)
是的,Init()
是构造函数的名称。
您无法评估函数调用(At()
是从TObject继承的TMyNumber的成员函数。)
如果意味着如何解释Pascal指针表示法:一个领先的' $'表示十六进制值。第一个值($ 888F)是段,第二个值($ 8)是段内的偏移量。 (假设您理解16环境中的概念段。)如果您的意思是如何在运行时读取指针的值:使用seg()
获取段,ofs()
获取偏移量,如seg(MyColl[myindex])
和ofs(MyColl[myindex])
。