課程
/后端開發
/C++
/趣味 C++ 進階
def
2021-06-26
源自:趣味 C++ 進階 3-4
正在回答
這個是什么,沒明白
class?Mat { public: ????int?row?=?0; ????int?col?=?0; ????float?*?*?mat?=?nullptr; private: ????void?init(int?row,?int?col) ????{ ????????if?(row?&&?col)?{ ????????????mat?=?new?float*[row]; ????????????for?(int?i?=?0;?i?<?row;?i++)?{ ????????????????mat[i]?=?new?float[col]; ????????????????for?(int?j?=?0;?j?<?col;?j++){ ????????????????????mat[i][j]?=?0; ????????????????????if(i?==?j){ ????????????????????????mat[i][j]?=?1; ????????????????????} ????????????????} ????????????} ????????} ????} public: ????Mat(int?row?=?0,?int?col?=?0) ????{ ????????this->row?=?row; ????????this->col?=?col; ????????init(row,?col); ????} ????Mat(const?Mat?&m) ????{ ????????this->row?=?m.row; ????????this->col?=?m.col; ????????init(row,?col); ????????for?(int?i?=?0;?i?<?row;?i++){ ????????????for?(int?j?=?0;?j?<?col;?j++){ ????????????????mat[i][j]?=?m.mat[i][j]; ????????????} ????????} ????} ????~Mat() ????{ ????????if?(mat?!=?nullptr)?{ ????????????for?(int?i?=?0;?i?<?row;?i++){ ????????????????if?(mat[i])?{ ????????????????????delete[]?mat[i]; ????????????????????mat[i]?=?nullptr; ????????????????} ????????????} ????????????if?(mat){ ????????????????delete[]?mat; ????????????}??? ????????????mat?=?nullptr; ????????} ????} ????Mat?&?operator?=?(const?Mat?&m) ????{ ????????if?(mat?!=?nullptr)?{ ????????????for?(int?i?=?0;?i?<?row;?i++){ ????????????????if?(mat[i])?{ ????????????????????delete[]?mat[i]; ????????????????????mat[i]?=?nullptr; ????????????????} ????????????} ????????????if?(mat){ ????????????????delete[]?mat; ????????????} ????????????mat?=?nullptr; ????????} ????????row?=?m.row; ????????col?=?m.col; ????????init(row,?col); ????????for?(int?i?=?0;?i?<?row;?i++){ ????????????for?(int?j?=?0;?j?<?col;?j++){ ????????????????mat[i][j]?=?m.mat[i][j]; ????????????} ????????} ????????return?*this; ????} ????Mat?operator?*?(const?Mat?&m) ????{ ????????EyerMat?res(row,?m.col); ???????? ????????for?(int?i?=?0;?i?<?res.row;?i++)?{ ????????????for?(int?j?=?0;?j?<?res.col;?j++)?{ ????????????????res.mat[i][j]?=?0.0f; ????????????} ????????} ????????if?(m.row?!=?col){ ????????} ????????else?{ ????????????for?(int?i?=?0;?i?<?res.row;?i++)?{ ????????????????for?(int?j?=?0;?j?<?res.col;?j++)?{ ????????????????????for?(int?k?=?0;?k?<?res.row;?k++)?{ ????????????????????????res.mat[i][j]?+=?mat[i][k]?*?m.mat[k][j]; ????????????????????} ????????????????} ????????????} ????????} ???????????? ????????return?res; ????} }
舉報
本課程是 C++ 的進階課程,繼續趣味學習之旅,帶你探索 C++ 的高級用法。
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2022-05-26
這個是什么,沒明白
2021-07-17