我在学校做一个项目,老师要求所有代码都放在一个.cpp文件中(为了他更方便地打分)。我想在这个文件中定义多个类,这样做会遇到什么问题吗?
我在学校做一个项目,老师要求所有代码都放在一个.cpp文件中(为了他更方便地打分)。我想在这个文件中定义多个类,这样做会遇到什么问题吗?
没有像Java一样需要遵循的规则。您可以自由地将类放在任何已命名文件中(除了后缀)。
然而,这是否是良好的实践另当别论(不是!)。
是的,你可以。这很容易验证。
class C
{
};
class D
{
};
int main(int argc, char**argv)
{
return 0;
}
将多个类写入单个文件并没有问题。这只涉及到维护风格的问题。
这些类之间关联非常紧密。例如,如果一个类定义了自己的迭代器,那么将该迭代器类放在用于迭代的类的同一个文件中可能是合适的。
其中一个类是供公共使用的,而其余的类用于实现它。例如,在使用“pimpl”惯用语时,公共类仅包含指向私有类的指针。在这种情况下,将私有/隐藏类放在与使用它们的公共类相对应的源文件中可能是合适的。
在这两种情况下,是否将“公共助手”(例如迭代器)和“私有助手”(例如pimpl)类放在同一个源文件或不同的源文件中,应该为整个项目做出一次决定,并且始终遵循该决策。
是的,你可以。这必须得到支持,否则你将无法创建嵌套类。
class outside
{
public:
class nested
{
public:
static int x;
static int y;
int f();
int g();
};
};
只是可扩展性/可维护性问题;) 没有严格的规定。
在C++中,您可以在单个文件中定义多个类。这样做不会导致任何问题。
在单个文件中定义多个类不会有任何问题。
这对于生产系统来说并不是特别好的实践,但对于作业来说这并不是问题。