Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Romeo305
Зарегистрирован: 27.11.2005 Сообщения: 5 Откуда: Москва
|
Добавлено: Пн Ноя 28 2005 00:04 Заголовок сообщения: Конструктор копий в С++ |
|
|
Подскажите пожалуйста, почему этот конструктор не работает!!! Программа запускается, но вызов конструктора игнорируется...
class Matrix
{
int element[MaxSize][MaxSize];
int m; //строки
int n; //столбцы
public:
Matrix ();
Matrix (const Matrix&);
~Matrix(){}
int GetElem (int s1,int s2) const {return element [s1][s2];}
int GetStrok() const {return m;}
int GetStolbtsov() const {return n;}
};
Matrix::Matrix (const Matrix& rhs)
{
for (int i=0;i<rhs.GetStrok();i++)
{
for (int j=0;j<rhs.GetStolbtsov();j++)
element[i][j]=rhs.GetElem(i,j);
}
} |
|
Вернуться к началу |
|
|
DmitryShm
Зарегистрирован: 17.11.2003 Сообщения: 211 Откуда: Казань
|
Добавлено: Пн Ноя 28 2005 14:14 Заголовок сообщения: дай вызывающую программу |
|
|
Зависит от программы, которая вызывает : важно понимать, что такое конструктор копий. Он может вызываться явно или при неявном преобразовании типов. Посмотри на доки по ключевому слову explicit. Часто конструктор копий эквивалентен operator (). Все "тонкости" этого процесса постороения классов на С++ можно найти в новом издании Страуструпа 2003, если не ошибаюсь, года. _________________ love IT |
|
Вернуться к началу |
|
|
|