1
내가 운영자 [] [] 오버로드를 사용하여 행렬을 초기화하는 나는 이제 연산자 오버로딩, 에 새로운 오전사업자 **
도움이 필요 프록시없이 매트릭스 C++ ** 과부하. 다음과 같은 방법으로 행렬을 초기화하고 싶습니다. 행렬 [0] [0] = 100
[] []를 사용할 수 있습니까? 어떻게 사용합니까?
//main.cpp//
void main()
{
Matrix m(2, 2);
m[0][0] = 2;
}
//matrix.h//
#ifndef MATRIX_H
#define MATRIX_H
class Matrix
{
public :
Matrix(int ,int);
Matrix operator [][] // *****im stuck here*****
private :
int numRows;
int numCols;
int **matrix;
}
#endif
//matrix.cpp//
#include <iostream>
#include "Matrix.h"
using namespace std;
Matrix::Matrix(int rows,int cols)
:numOfCols(cols),numOfRows (rows)
{
matrix=new int *[cols];
for(int i=0;i<rows;i++)
{
matrix[i]=new int [cols];
for(int c=0;c<cols;c++)
{
matrix[i][c]=0;
}
}
}
이 코드를 모두 작성하는 대신 'std :: array, rowCount>'? 여전히'foo [y] [x]'구문을 얻습니다. –
@Jack 네가 gapless 값의 배열을 필요로한다면 나쁜 아이디어 일 것이다. 다른 곳에서 사용할 수 있습니다. 성능 POV에서 나쁜 아이디어. 그리고 그것은 교육 운동입니다 - 그것을 자르지 않을 것입니다. – Swift