Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/137.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 接口的集合相互依赖_C++_Interface - Fatal编程技术网

C++ 接口的集合相互依赖

C++ 接口的集合相互依赖,c++,interface,C++,Interface,我有两个接口: class foo{ public: virtual void fooo(bar * b)=0; } class bar{ public: virtual void barr(foo * f)=0; } 但是这个代码片段的格式不正确。如何正确编写此接口 如何正确编写此接口 您始终可以转发声明类,并在看到转发声明的代码中使用指针或引用。 只要任何代码需要引用类成员,就必须看到完整的类声明 class bar; // << Note the forwa

我有两个接口:

class foo{
public:
    virtual void fooo(bar * b)=0;
}

class bar{
public:
    virtual void barr(foo * f)=0;
}
但是这个代码片段的格式不正确。如何正确编写此接口

如何正确编写此接口

您始终可以转发声明类,并在看到转发声明的代码中使用指针或引用。
只要任何代码需要引用类成员,就必须看到完整的类声明

class bar; // << Note the forward declaration
class foo{
public:
    virtual void fooo(bar * b)=0;
}

class bar{
public:
    virtual void barr(foo * f)=0;
}

类栏;// 只需向前声明

class bar;

class foo{
public:
    virtual void fooo(bar * b)=0;
}

class bar{
public:
    virtual void barr(foo * f)=0;
}