我需要一个类,以便指导工作
int main() {
// create a vector with values 10,2,3
std::vector<MyClass<int>> v{ 10,2,3 };
//print values
for (const auto& m : v) std::cout << m.value() << ",";
return 0;
}
最佳答案
只需编写一个template
类:
template<typename T>
class MyClass {
private:
T val;
public:
MyClass(T a) : val{std::move(a)} {}
T value() const { return val; }
};
请注意,如果将构造函数标记为explicit
: explicit MyClass(T a) : val{std::move(a)} {}
然后,您将必须在 vector 初始值设定项列表中显式构造值:std::vector<MyClass<int>> v{ MyClass<int>{10}, MyClass<int>{2}, MyClass<int>{3} };
关于c++ - 如何创建一个类,使 vector 起作用std::vector <MyClass <int >> v {1,2,3};,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62602714/