我收到以下错误:
'class name' does not name a type对于我的所有课程.我怀疑它可能是循环依赖,但我不知道如何解决它,因为每个类都需要从下一个访问函数.以下是我的课程:
Container.h:
#ifndef CONTAINER_H
#define CONTAINER_H
#include "Factory.h"
class Container
{
public:
Container()
{
array = new int[10];
for (int i = 0; i < 10; ++i) {
array[i] = i;
}
}
Iterator* createIterator()
{
Factory fac;
return fac.factoryMethod();
}
friend class Iterator;
private:
int* array;
};
#endif //CONTAINER_H
Run Code Online (Sandbox Code Playgroud)
Factory.h:
#ifndef FACTORY_H
#define FACTORY_H
#include "Iterator.h";
class Factory
{
Iterator* factoryMethod(Container* con)
{
return new Iterator(con);
}
};
#endif //FACTORY_H
Run Code Online (Sandbox Code Playgroud)
Iterator.h: …
我想创建一个smalltalk应用程序,其中一个类具有一个实例变量,该实例变量是一个数组,一个实例变量是数组的大小.理想情况下,我希望在创建对象时初始化这些对象,但我会在方法中手动初始化这些对象.
以下是我的代码:
Object subclass: Student [
| numTests marks |
initialize [
numTests := 0.
marks := Array new: 10.
]
]
student := Student new.
student initialize.
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
Object: Array new: 10 "<0x10b054b80>" error: method is responsibility of a subclass
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?