gpt4 book ai didi

c++ - 成员变量的通用声明

转载 作者:行者123 更新时间:2023-11-27 23:25:53 25 4
gpt4 key购买 nike

有什么方法可以使用模板运算符来声明来自不同用户数据类型的大量成员变量?

考虑这段代码:

    class a {
int member;
void ProcessMemberVariable ();
};
class b {
char member;
void ProcessMemberVariable ();
};
... // arbitrary number of such classes



class test {

template <typename T>
void declare (T a ) {
// each time this member function is called a new member variable of the
// user data type T shall be declared in the instance of the class test??
}
};

int ()
{
test Test;
Test.template declare<a>(a A);
Test.template declare<b>(b B);
...
}

想象一下,你想实现一个苹果接口(interface)来设置任何类型的用户定义数据类型。因为我只有在声明类“test”的实例并调用其成员函数时才知道用户定义数据类型的标识符...

我很感激每一个建议..

最佳答案

您所描述的听起来像是向对象动态添加成员,而这在 C++ 中是不可能的。在某些情况下,有多种方法可以获得类似的效果,但您需要描述您认为这种方法有用的情况。

关于c++ - 成员变量的通用声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9567837/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com