请假设一个资源管理类,比方说结合了几种基本结构,以一个自定义类型
template<typename AddressFields>
class AddressBook
{
std::list<AddressBookEntry<AddressFields> > book;
};
持有AddressBookEntry对象的列表。 AddressBookEntry基本上应该是由一对夫妇的默认成员变量加上由模板AddressFields描述一个自定义的字段变量:
template<typename AddressFields>
struct AddressBookEntry
{
int id;
AddressFields fields;
};
我想提供一些基本的结构,如
struct Name
{
std::string n_first;
std::string n_last;
};
struct Address
{
std::string street;
int zip;
std::string city;
};
struct Mobile
{
std::string m_number
};
现在我的问题是:有没有办法根据现有的结构创建新的结构?我想允许用户通过相结合,创造他/她自己的自定义AddressFields类型,例如,“名称”和“移动”到
struct NameMobile
{
std::string n_first;
std::string n_last;
std::string m_number;
};
,因此它可以被插入到地址簿中。但只限于已有的结构。
问题是什么? – Pubby 2012-04-27 14:49:46
这里没有问题。你在编辑? – 2012-04-27 14:50:02
另外,没有“默认成员变量”这样的事情。 Perhas你的意思是默认构造的成员变量? – 2012-04-27 14:50:50