2021-04-12-cpp-遇到undefined reference to `typeinfo for xxx`问题

世间千般好


分类 cpp
标签 cpp

自己在写一个子类继承父类的时候,遇到了这么个问题:undefined reference to typeinfo for xxx。 百度上大多是说定义了虚函数(构造函数,析构函数)未实现,但是我明明实现了,后面再仔细看一下,原来是自己漏了=0(第二种情况)

第一种情况:父类作为接口,定义了虚函数未实现

/**
 * @details 作为一个抽象类
 */
class CFather
{
public:
    CFather() {};           /* 需要加上中括号 */
    virtual ~CFather() {};  /* 需要加上中括号 */
}

class CSon : public CFather
{
public:
    CSon(); 
    virtual ~CSon();
}

CSon::CSon()
{
}

CSon::~CSon()
{
}

第二种情况:父类中定义了虚接口但是少了 = 0


/**
 * @details 作为一个抽象类
 */
class CFather
{
public:
    CFather() {};
    virtual ~CFather() {};
    virtual string getName() = 0;   /* 完整格式 */
    virtual int getAge();           /* 定义为虚接口没有加 = 0 */
}

class CSon : public CFather
{
public:
    CSon(); 
    virtual ~CSon();
    string getName();
    int getAge();
}

CSon::CSon()
{
}

CSon::~CSon()
{
}

string CSon::getName()
{
}

int CSon::getAge()
{
}

半路出家C++,太糗了。

参考