2017-02-13 2 views
0

Если это имеет конструктор только с этим: Matrix (int, int);Дайте значения атрибута конструктору Matrix (int, int)

Как я могу присвоить атрибутам класса значение? Например:

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

} 

Я знаю, что это проще просто написать Matrix (INT I, Int J), но что, если есть только "ИНТ" s?

+0

* Если у вас есть конструктор только с этим: Matrix (int, int) * - Почему вы пытаетесь сделать вещи сложнее, чем должны? Что случилось с 'Matrix (int i, int j)'? – PaulMcKenzie

+0

Вот хороший пример матричного класса с большинством колоколов и свистков: https://isocpp.org/wiki/faq/operator-overloading#matrix-subscript-op – user4581301

ответ

1

Этот

Matrix(int, int); 

просто объявление конструктора. Нет необходимости указывать имена параметров, поскольку они не используются в объявлении. Достаточно указать типы параметров.

Но в определении конструктора вам необходимо указать имена параметров. Например,

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

Вы можете использовать эти имена параметров в выражениях, например, для инициализации членов данных класса.

Смежные вопросы