起因:
在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 版权协议,转载请附上原文出处链接和本声明。