Template với overload toán tử

template <class T>
class Matrix {
private:
	int _col;
	int _row;
	T **a;
public:
	Matrix() {
		_col = _row = 0;
		a = NULL;
	}
	Matrix(int col, int row) {
		if(col>0&&rol>0){_col = col;
		_row = row;
		a = new T*[_row];
		for (int i = 0; i < _row; i++)  a[i] = new T[_col];}
	}
	~Matrix() {
		for (int i = 0; i < _row; i++) delete a[i];
		delete a;
		_col = _row = 0;
	}
public:
   friend Matrix operator+ (const Matrix<T>*obj, const Matrix<T>*obj1){
    //Đoạn này thì không thể truy xuất vô priavte của obj và obj1
    //Nhưng lại truy xuất được khi quá tải cin, cout
} 

``
Nhờ mọi người giải thích hộ, Cảm ơn.

Sao op+ lại dùng hai con trỏ vậy :smiley:

Thế là không được hả cậu??. Vì không truyền tham biến nên truyền con trỏ.

Vì có tham chiếu rồi muh :slight_smile:

Dòng này phải là tham chiếu mới chạy đúng.


Để ý rằng nếu ko có template<T> đầu thì hàm cũng ko có template đâu.

1 Like

bạn gì đó ơi. mình thử qua tham chiếu rồi và vẫn không truy xuất đc private.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?