0
class
    MAP[G]
create
    make

feature --attributes
    g_array: ARRAY[G]
    size:INTEGER

feature{NONE}
make
    do
        g_array.make_empty
           size:=0
    end

class
    MAP_TESTING

m: MAP[INTEGER]

create m.make
print(m.size)

第一类由一个数组及其大小组成。当我尝试创建mARRAY 的对象时,我将print(m.size). 我是否正确实例化了数组?我是否使用了正确的make功能ARRAY?为什么不打印任何东西?

--------------------------

class
    MAP[G]
create
    make

feature --attributes
    g_array: ARRAY[G]
    size:INTEGER

feature{NONE}
make
  --I left this blank
    end

class
    MAP_TESTING

m: MAP[INTEGER]

create m.make
print(m.size)

当我留下make空白时,这实际上有效。它打印出来0。但这不好,因为显然如果我使用数组 in 调用其他函数MAP,它将不起作用。我实际上尝试使用 ARRAY 类中的其他函数,但出现编译错误。

4

1 回答 1

2

创建数组的行MAP应该是:

create g_array.make_empty

并且MAP_TESTING应该是:

class
    MAP_TESTING
creation
    make
feature
    m: MAP[INTEGER]

    make
    do
        create m.make
        print(m.size)
    end
end

(请注意,print不输出换行符,因此零很容易在终端中丢失。)

于 2014-02-23T00:47:04.657 回答