在设计模式中,简单工厂模式中一个是Product类(产品类),一个是ProductManager类(工厂类),而两个类互相引用了,形成了环形引用
,而前向声明可以解决这个问题,但是在应用前向声明
的时候需要注意一点就是,声明仅仅是声明,并没有实现,因此不能调用声明的变量的方法或者实现该类
。举例如下:
去掉注释就是正确的前向声明,没有去掉注释就是错误的前向声明应用
编译
g++ main.cpp product.cpp product_manager.cpp -I. -std=c++11
文件
product.h
#pragma once
#include <string>
using