C++前向声明的应用注意事项
发布时间
阅读量:
阅读量
在设计模式的范畴内,简单工厂模式通常包含两个核心类,即Product类(产品类)与ProductManager类(工厂类)。这两个类之间存在相互引用关系,从而导致了所谓的环形引用问题。为了解决这一问题,可以采用前向声明的方式。然而,在使用前向声明时需要注意一个关键点:该声明仅用于标识类的存在,并未包含具体实现,因此不能对所声明的变量进行方法调用或使用该类的实现内容。以下是一个具体示例加以说明:
若删除注释部分则构成正确的前向声明方式,而保留注释则属于错误的前向声明应用形式
编译
g++ main.cpp product.cpp product_manager.cpp -I. -std=c++11
文件
product.h
#pragma once
#include <string>
using namespace std;
class ProductManager;
// Product
class Product {
public:
Product(ProductManager *_manager, string _name);
str
全部评论 (0)
还没有任何评论哟~
