Flaker
@Flaker

Как определить преобразования из переменной простого типа в свой тип?

Весь вопрос в сабже.
Если конкретнее, то "Как определить преобразования из переменной типа double в матрицу?"
Класс матрицы есть.
Я понимаю, что это можно сделать просто кидая в конструктор число double и генерируя матрицу размером 1x1.
А переопределением операторов это возможно реализовать?

// Пример того, как это может выглядеть:
int tmpNum = 99;

Matrix<MatrixType> tmpMatr = static_cast< Matrix<MatrixType> >(tmpNum);
  • Вопрос задан
  • 182 просмотра
Решения вопроса 1
RiseOfDeath
@RiseOfDeath
Диванный эксперт.
Вам никто не запрещает переопределить оператор присовения и математические операторы.

Вообще гуглить влом, но если не изменяет память можно переопределить = + - / * % << >>

Ссылки для осмысления?
habrahabr.ru/post/132014
en.cppreference.com/w/cpp/language/operators
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
https://ideone.com/YVpHpL
protected:
	double number;
public:
	Matrix(double n):number(n){
		///....
	}
...
Matrix m = 10.2; //тут уже сработает конструктор и никаких приведений типов не нужно
Ответ написан
Если у меня есть только int data[MATRIX_MAX_SIZE][MATRIX_MAX_SIZE], то как мне писать конструктор?
Списки инициализации вас спасут.
int data[2][2] = { {1, 2},
                   {3, 4} };
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы