91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 8KB
    文件類型: .rar
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-01-05
  • 語言: C/C++
  • 標(biāo)簽: C++??

資源簡介

使用單例,工廠,函數(shù)指針實(shí)現(xiàn)的反射,減少了分支語句,次方法可以動(dòng)態(tài)創(chuàng)建類實(shí)例,減少了工廠類里面的分支語句(工廠類完成后基本不需要修改,就可以隨意創(chuàng)建想要的類的實(shí)例)。

資源截圖

代碼片段和文件信息

#include?“stdafx.h“
#include?“ClassFactory.h“



ClassFactory::ClassFactory()
{
}


ClassFactory::~ClassFactory()
{
for?(auto?it?:?objectItems)
{
if?(it.second?!=?nullptr)
{
delete?it.second;
it.second?=?nullptr;
}
}
objectItems.clear();
}


//返回void?*減少了代碼的耦合
void?*?ClassFactory::CreateItem(string?className)
{
Itemobject?constructor?=?nullptr;

if?(objectItems.find(className)?!=?objectItems.end())
constructor?=?objectItems.find(className)->second->itemobject;

if?(constructor?==?nullptr)
return?nullptr;

//?調(diào)用函數(shù)指針指向的函數(shù)?調(diào)用REGISTER_CLASS中宏的綁定函數(shù),也就是運(yùn)行new?className代碼
return?(*constructor)();
}

//Itemobject相當(dāng)于一個(gè)回掉函數(shù)
void?ClassFactory::RegisterItem(const?string&?className?Itemobject?item)
{
mapjectClass?*>::ite

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件???????1047??2018-05-10?11:12??RefacterC\RefacterC\ClassFactory.cpp

?????文件???????1324??2018-05-10?11:14??RefacterC\RefacterC\ClassFactory.h

?????文件????????228??2018-05-10?10:52??RefacterC\RefacterC\ConsoleItem.cpp

?????文件????????158??2018-05-10?10:52??RefacterC\RefacterC\ConsoleItem.h

?????文件????????207??2018-05-10?10:27??RefacterC\RefacterC\FileItem.cpp

?????文件????????149??2018-05-09?10:05??RefacterC\RefacterC\FileItem.h

?????文件????????102??2018-05-10?10:15??RefacterC\RefacterC\Item.cpp

?????文件????????162??2018-05-10?10:20??RefacterC\RefacterC\Item.h

?????文件???????1180??2018-05-10?13:18??RefacterC\RefacterC\main.cpp

?????文件????????101??2018-05-10?10:18??RefacterC\RefacterC\object.cpp

?????文件????????192??2018-05-10?13:18??RefacterC\RefacterC\object.h

?????文件???????8751??2018-05-10?10:52??RefacterC\RefacterC\RefacterC.vcxproj

?????文件???????2911??2018-05-10?10:55??RefacterC\RefacterC\RefacterC.vcxproj.filters

?????文件????????165??2018-05-09?10:01??RefacterC\RefacterC\RefacterC.vcxproj.user

?????文件????????925??2018-05-10?10:58??RefacterC\RefacterC\REGISTERCLASS.h

?????文件?????????49??2018-05-09?10:19??RefacterC\RefacterC\Singleton.cpp

?????文件????????423??2018-04-28?16:49??RefacterC\RefacterC\Singleton.h

?????文件????????320??2018-05-09?10:01??RefacterC\RefacterC\stdafx.cpp

?????文件????????494??2018-05-09?10:09??RefacterC\RefacterC\stdafx.h

?????文件????????370??2018-05-09?10:01??RefacterC\RefacterC\targetver.h

?????文件???????1441??2018-05-09?10:01??RefacterC\RefacterC.sln

?????目錄??????????0??2018-05-10?13:21??RefacterC\RefacterC

?????目錄??????????0??2018-05-10?13:21??RefacterC

-----------?---------??----------?-----??----

????????????????20699????????????????????23


評(píng)論

共有 條評(píng)論