看看这个由于包含关系过于复杂而编译出错的有关问题吧

看看这个由于包含关系过于复杂而编译出错的问题吧
C/C++ code
/////////////////////main.cpp////////////////
int main(int argc, char **argv)
{
    return 1;
}


C/C++ code
/////////////////////base.h////////////////
#pragma once

class base
{
protected:
    base();
};


C/C++ code
/////////////////////curve.h////////////////
#pragma once

#include "base.h"

class curve : public base
{
protected:
    curve();
};


C/C++ code
/////////////////////curveCollection.h////////////////
#pragma once

#include "base.h"

class curveCollection : public base
{
protected:
    curveCollection();
};


C/C++ code
/////////////////////curveCollection.cpp////////////////
#include "curvecollection.h"
#include "curve.h"

curveCollection::curveCollection() // 此处报错 undefined reference to `base::base()
{}





------解决方案--------------------
你没定义base的构造函数而已, 链接时找不到定义罢了.