Estou desenvolvendo uma classe para operação com matrizes bidimensionais, a classe já está rodando e funcionando com métodos para soma, subtração e multiplicação. Minha dúvida é como faço para sobrecarregar o operador [] para acesso aos elementos da matriz.
O que quero é acessar o elemento de uma matriz usando a notação m[0][0], supondo que m seja o objeto do tipo Matriz e também que eu queira acessar o elemento da linha 1, coluna 1.
Minha classe matriz tem os seguintes atributos:
int coluna;
int linha;
double **p;
Portanto, se quero acessar o elemento da linha 1, coluna 1 de uma matriz m, eu apenas escrevo m.p[0][0], o que não é muito claro.
Não sei como vou sobrecarregar o operador [] já que o mesmo recebe apenas 1 parâmetro e não dois.
Consegui sobrecarregar o operador () para acesso, pois o mesmo recebe dois parâmetros, sendo que preciso usar a notação m(1,1) para acessar o elemento citado acima, o que, como podem ver, não é muito lógico.
Então é isso... preciso sobrecarregar o operador [] como método membro da classe de forma que possa acessar os elementos chamando m[0][0] (sendo m um objeto do tipo matriz e os índices numéricos correspondentes a um elemento na matriz que neste caso é linha 1, coluna 1).
Pergunta
Hicker
Aloha moços,
Estou desenvolvendo uma classe para operação com matrizes bidimensionais, a classe já está rodando e funcionando com métodos para soma, subtração e multiplicação. Minha dúvida é como faço para sobrecarregar o operador [] para acesso aos elementos da matriz.
O que quero é acessar o elemento de uma matriz usando a notação m[0][0], supondo que m seja o objeto do tipo Matriz e também que eu queira acessar o elemento da linha 1, coluna 1.
Minha classe matriz tem os seguintes atributos:
Portanto, se quero acessar o elemento da linha 1, coluna 1 de uma matriz m, eu apenas escrevo m.p[0][0], o que não é muito claro.
Não sei como vou sobrecarregar o operador [] já que o mesmo recebe apenas 1 parâmetro e não dois.
Consegui sobrecarregar o operador () para acesso, pois o mesmo recebe dois parâmetros, sendo que preciso usar a notação m(1,1) para acessar o elemento citado acima, o que, como podem ver, não é muito lógico.
Então é isso... preciso sobrecarregar o operador [] como método membro da classe de forma que possa acessar os elementos chamando m[0][0] (sendo m um objeto do tipo matriz e os índices numéricos correspondentes a um elemento na matriz que neste caso é linha 1, coluna 1).
Grato aos que ajudarem
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.