【发布时间】:2014-06-25 21:34:39
【问题描述】:
我正在为一个简单的大学项目创建一个方阵类。我遇到了构造函数(不是默认构造函数)的问题。因为我只需要方阵,所以我这样写
sqmatrix(int R): rank(R)
{
std::vector < std::vector <double> > MATRIX;
MATRIX.resize(rank);
}
可能有也可能没有其他问题(我是初学者),但我想要回答的最重要的问题是:假设我创建了一个 sqmatrix A;在 main() 中,我该如何填写?我不确定如何访问向量向量内的数据(和写入)。
即使我不使用向量而是创建一个指针数组...当唯一的成员是 R 时如何填充它们?
感谢您的帮助!
【问题讨论】:
-
寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:How to create a Minimal, Complete, and Verifiable example。
-
如果那是一个构造函数,为什么你的类名没有大写?一旦方法存在,构造函数 (
MATRIX) 中静态分配的所有内容都将被删除。你没有。你只分配空间。 -
老实说,我认为您应该从一些入门级 c++ 教程开始,该教程侧重于其面向对象的性质。对于初学者来说,您似乎缺乏最基本的概念,您不了解基本的 c++ 类型,以非常奇特的编码风格结束......所有大写和类都较低的命名变量非常罕见。我担心的是,您可能无法以您目前的知识理解答案。
-
@Alexandru 这是一个奇怪的规则,类名必须大写。似乎 C++ 标准委员会没有收到那份备忘录。
-
@Alexandru 那么,C++ 标准库是什么?不常见还是不标准?或者它可能是不是OOP?另外,起初我没有读过你第一条评论的第一句话。不过既然有了,剩下的比第一句话还要荒唐!
标签: c++ class matrix constructor