用指针数组实现的矩阵类

本文档介绍了如何利用指针数组在C++中实现一个矩阵类,包括模板类的设计和使用,通过示例代码work3.cpp展示了其实现细节,最终运行结果验证了功能的正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

my_matrix.h

/*作业题目:
为矩阵设计操作符重载函数,包括(第三次作业):
    +
    *
    =
    >>
    <<
将类模板化(第四次作业)
作者:黄政明 21625080
时间:2018/03/29
*/
#ifndef MY_MATRIX_H
#define MY_MATRIX_H
#include <iostream>

using namespace std;

// Template matrix
//i.e.
//  my_matrix(int) mat(3,2);//creates a 3x2 dimension matrix and each entry is an integer.
//  my_matrix(int) mat;//a 1x1 matrix
template<typename Tdata>
class my_matrix
{
    private:
        int dim1;
        int dim2;
        //数据指针,类型为二重指针
        Tdata** m_data;
    public:
        my_matrix(int M = 1, int N = 1, Tdata entry = 0): dim1(M), dim2(N)
        {
            //初始化指针数组
            m_data = new Tdata*[M];
            //依次初始化指针数组的元素
            //指针数组,相邻指针指向的数组可以分散;数组指针,相邻指向的数组相邻
            for(int i = 0; i < M; i++)
            {
                m_data[i] = new Tdata[N];
                for(int j = 0; j < N; j++)
                    m_data[i][j] = entry;//初始化
            }
        }
        /*user defined copy function
        *param:
        *   src source instance to be copied
        */
        my_matrix(const my_matrix<Tdata>& src)
            : dim1(src.dim1), dim2(src.dim2)
        {
            m_data = new Tdata*[dim1];
            //依次初始化指针数组的元
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值