如何在C++中实现 返回值类型是抽象类型?

  • Post author:
  • Post category:其他




起因:

在java中,函数的返回值类型是可以为抽象类型、接口类型的。但是在C++中,如果你想按照Java的写法返回一个抽象类型,那你就错了!


错误的例子

#pragma once
//冒落块工厂
#include "Model.h"
class ModelFactory
{
public:
	ModelFactory();
	~ModelFactory();
    //抽象方法,c++中交纯虚函数
	virtual Model * createModel()=0;
};

写一个返回值类型为抽象类型/接口类型的函数


ModelFactory  d3dUtil::getBean() {

}


报错:


在这里插入图片描述



解决方案:

返回

指针

就好啦~

声明和定义都返回指针或引用。

ModelFactory * d3dUtil::getBean() {

}



版权声明:本文为weixin_36571185原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。