2014-01-09 132 views
-5

是否可以自動生成類似這樣的東西?我只想要特定的成員一次,並生成三個類(他們是相似的,但...)具有不同類型的相同成員的C++類

class recipe{ 
public: 
    int timeToPrepare; 
    std::string name; 
} 

class recipeQuery{ 
public: 
    baseQuery<int> timeToPrepare; 
    baseQuery<std::string> name; 
} 


class recipeScheme{ 
public: 
    schemeItem<int> timeToPrepare; 
    schemeItem<std::string> name; 
} 
+0

產生怎麼樣?你認爲在什麼情況下需要生成代碼?作爲預編譯步驟?你想要C++代碼,還是你想要一個腳本或工具來生成代碼? –

回答

0
template<template<typename> class T> 
class recipe{ 
public: 
    T<int> timeToPrepare; 
    T<std::string> name; 
}; 

typedef recipe<baseQuery> recipeQuery; 
typedef recipe<schemeItem> recipeScheme; 
5

是這樣的?

template <class T1 = int, class T2 = std::string> class recipe { 
    T1 timeToPrepare; 
    T2 name; 
}; 

typedef recipe< baseQuery<int>, baseQuery<std::string> > recipeQuery; 

typedef recipe< schemeItem<int>, schemeItem<std::string> > recipeQuery; 
相關問題