使用什么构造函数
What constructor use
我必须设计一个继承vector<vector<int>>
的类int2d,以便下面的代码:
int main()
{
int2d t1(4, 3);
for(int i = 0; i < 4; i++)
{
for(int j = 0; j < 3; j++)
{
t1(i, j) = i + j;
}
}
for(int i = 0; i < 4; i++)
{
for(int j = 0; j < 3; j++)
cout << t1(i, j) << " ";
{
cout<<endl;
}
}
}
…生成以下结果:
0 1 2
1 2 3
2 3 4
3 4 5
我已经写了:
class int2d : public vector<vector<int>> {
public:
vector<vector<int>> vec;
int a;
int b;
//vector<int> tmp;
//vector<vector<int>> vec(b);
int2d(int a, int b) {
vector<int> tmp(b);
vector<vector<int>> vec(a);
for(int i = 0; i < a; i++) {
vec.push_back(tmp);
}
}
int2d& operator = (const int2d& X){
if (this == &X)
return *this;
int2d tmp(X.a, X.b);
}
int2d& operator = (const int& X){
vec[a][b] = X;
}
};
但是我怎样才能使t1(i, j) = i + j;
编译和工作呢?
您只需要operator()(std::size_t, std::size_t)
可能同时需要const
和非const
过载。
相关文章:
- 是什么让放置新调用对象的构造函数?
- 如果我真的真的想从 STL 容器继承,并且我继承构造函数并删除新运算符,会发生什么?
- 使用基类指针调用基类的值构造函数的语法是什么?
- 这个C++编译器优化(在自身的实例上调用对象自己的构造函数)的名称是什么,它是如何工作的?
- 构造函数后面的宏.什么意思?
- C++构造函数内部会发生什么?
- 用相同的参数声明两个构造函数的最偶像化的方法是什么?
- 如果在 C++ 构造函数中以错误的顺序初始化对象数据,会发生什么类型的错误
- 我是否为邪恶刽子手的构造函数错过了什么?
- 构造函数中没有参数的对象类成员按什么顺序初始化?
- 什么时候用指针调用C++类构造函数
- 这个构造函数是做什么的
- 将复制构造函数设置为private和=delete有什么区别
- 我不明白在这个例子中什么时候调用构造函数
- 在C++中,从构造函数中将字符串文本分配给成员const char*变量时会发生什么
- c++ 17 中结构自动定义构造函数的规则是什么?
- 在C++中初始化带有和不使用构造函数调用的对象有什么区别
- C++什么时候是使用无默认构造函数与getter和setters与直接调用类中的变量的正确时机
- 在成员初始值设定项列表和构造函数主体中委派构造函数有什么区别
- 在不使用默认构造函数的情况下声明 POD 结构时,会实例化什么?