I am invoking the below function from different classes and files like as shown below. And the implementation is almost similar. But it is initializing in the respective class constructor.
Can I create a common function for the below code for all the classes and then when invoking, based on the class can I initialize and return the object?
Below is the function with almost similar implementation for all the classes. And I have this similar implementation in around 10 places.
Could someone please suggest me the better approach to create a common reusable function?
1.
shared_ptr<CTestOneImpl> COneImpl::createTestObject(const string& f_strSFID, short f_nID,
bool f_bIsVerified,
bool f_bIsProcessed)
{
shared_ptr<CTestOneImpl> l_pTestObj = nullptr;
l_pTestObj = make_shared<CTestOneImpl>(f_nID, f_strSFID,
f_bIsVerified, f_bIsProcessed,
this);
return l_pTestObj;
}
shared_ptr<CTestTwoImpl> CTwoImpl :: createTestObject(string f_hStrSFID, long f_nID,
bool f_bIsVerified,
bool f_bIsProcessed)
{
shared_ptr<CTestTwoImpl> l_pTestObj = nullptr;
l_pTestObj = make_shared<CTestTwoImpl>(f_nID, f_hStrSFID, f_bIsVerified
, f_bIsProcessed, this);
return l_pTestObj;
}
shared_ptr<CTestThreeImpl> CThreeImpl ::createTestObject(const string& f_strSFID,
const string& f_nID,
bool f_bIsVerified,
bool f_bIsProcessed)
{
shared_ptr<CTestThreeImpl> l_pTestObj = nullptr;
l_pTestObj = make_shared<CTestThreeImpl>(f_nID,
f_strSFID,
f_bIsVerified,
f_bIsProcessed,
this);
return l_pTestObj;
}
Aucun commentaire:
Enregistrer un commentaire