zoukankan      html  css  js  c++  java
  • error C2504 类的多层继承 头文件包含

    error C2504:头文件包含不全

    今天碰到了很烦的问题,继承一个类之后,感觉头文件都包含了,可还是出现父类未定义的问题,最后发现,子类的子类在实现时,需要在cpp文件中包含所有他的父类的定义。因为每个cpp文件是单独编译的,需要知道其所有父类来确定这个类的大小和实现的细节。

    实例代码如下:

    //a.h
    class
    A{ public: virtual void fun()=0; };
    //b.h
    class B : public A { public: virtual void fun(); };

    //b.cpp #include
    "a.h" void B::fun() { std::cout<<"Class B fun()"<<std::endl; }
    //c.h
    class C : public B { public: virtual void fun(); };
    //c.cpp #include
    "a.h" #include "b.h" void C::fun() { std::cout<<"Class C fun()"<<std::endl; }
  • 相关阅读:
    java多线程-阻塞队列BlockingQueue
    java多线程-ThreadLocal
    JZ-C-26
    JZ-C-25
    JZ-C-24
    JZ-C-23
    JZ-C-22
    JZ-C-21
    JZ-C-20
    JZ-C-19
  • 原文地址:https://www.cnblogs.com/bigbigtree/p/3285138.html
Copyright © 2011-2022 走看看