八达网

标题: 问个C++的低级问题,求教! [打印本页]

作者: 啊当    时间: 2013-2-4 23:00
标题: 问个C++的低级问题,求教!
编写了一个类A
又编写了另一个类B,类B包含类A
这个类B中有一个方法(比如叫方法C),是生成一个类A的vector

现在有一个类D
类D调用了类B的方法C以获得类A的vector

但是编译的时候由于交叉编译无法通过
请问一下类D的包含该怎么写,我这个结构设计的漏洞在哪

作者: 德米凯利斯    时间: 2013-2-4 23:03
唱五环歌吧
作者: 别射门射我脸上    时间: 2013-2-4 23:05
啊~~五环,你比四环多一环,啊~~五环,你比六环少一环
作者: abu1985    时间: 2013-2-4 23:06
贴下你现在的定义看下啊
作者: abu1985    时间: 2013-2-4 23:08
你的类A和类B是在2个头文件里边定义的吧,你试试在一个头文件里定义
作者: abu1985    时间: 2013-2-4 23:11
哎,有一年没做C++开发了,生疏了啊
作者: Neutrino    时间: 2013-2-4 23:41
D是包含 B 类 还是继承B?继承直接调用就行了,如果是包含最简单的就是声明一个公有变量

class A {
public:       
        A(){};
        virtual ~A(){};

};

class B{
public:
   B(){};
   virtual ~B(){};
   vector<A> foo(){//............};
};

class D {

        public:
                D(){};
                virtual ~D(){};
        public:
                B *b;
               
};

int main(void)
{
        D *d = new D();
        d->b = new B();
       
        vector<A> a = d->b->foo();
       
        delete d->b;
        delete d;
        return 0;
}
作者: 永无乡    时间: 2013-2-4 23:44
高端话题,屌丝插不上嘴。
作者: AMD_GiYoM    时间: 2013-2-4 23:47
楼上的啥不乡还不撸一管睡觉?
作者: 永无乡    时间: 2013-2-5 01:00
AMD_GiYoM 发表于 2013-2-4 23:47
楼上的啥不乡还不撸一管睡觉?

屌丝还在搬砖会到处乱说?
作者: 牛clear    时间: 2013-2-5 08:46
简单,全写在一个文件就行了
作者: stonyfield    时间: 2013-2-5 08:54
试试#ifndef
作者: Mr.YY    时间: 2013-2-5 09:02
屌丝还在搬砖会到处乱说?





欢迎光临 八达网 (https://www.8-da.com/) Powered by Discuz! X2.5