2017-02-13 1 views
0

Si vous avez un constructeur avec ceci: Matrix (int, int);Donner des valeurs d'attribut avec un constructeur Matrix (int, int)

Comment puis-je donner une valeur aux attributs de la classe? Par exemple:

Matrix::Matrix(int, int) 
{ 
    columns= (and here what? If there is no reference I do not know what to assign it for) 

} 

Je sais qu'il est plus facile d'écrire juste Matrix (int i, int j), mais s'il n'y a que les s "int"?

+0

* Si vous avez un constructeur avec ceci: Matrix (int, int) * - Pourquoi essayez-vous de rendre les choses plus difficiles qu'elles ne le devraient? Quel est le problème avec 'Matrix (int i, int j)'? – PaulMcKenzie

+0

Voici un bon exemple d'une classe de matrice avec la plupart des cloches et des sifflets: https://isocpp.org/wiki/faq/operator-overloading#matrix-subscript-op – user4581301

Répondre

1

Ce

Matrix(int, int); 

est juste une déclaration de constructeur. Il n'est pas nécessaire de spécifier les noms des paramètres car ils ne sont pas utilisés dans la déclaration. Il suffit de spécifier les types de paramètres.

Mais dans la définition du constructeur, vous devez spécifier les noms des paramètres. Par exemple

Matrix::Matrix(int rows, int cols) 
{ 
    //... 
} 

Vous pouvez utiliser ces noms de paramètres dans des expressions, par exemple pour initialiser des membres de données de la classe.