c++实现下三角矩阵的取值和存值

33.假定按行的方式把对称矩阵的下三角区域储存在一个一维数组中。设计一个C++类lowerSymmetricMatrix,包含取值和存值方法。这两个方法的时间复杂度应为(1)


 #include <iostream>
 using namespace std;
  template <class T>
  class lowerSymmetricMatrix{
  	public :
  		lowerSymmetricMatrix(int theRows = 0, int theColumns=0)
		  {
		  	this->theColumns=theColumns;
		  	this->theRows=theRows;
		  	element= new T [theRows*theColumns];
		  };
  		~lowerSymmetricMatrix(){ delete [] element;}
		void setelement(T a,int i=0,int j=0);
		T getelement(int i=0,int j=0);
		
	private:
		int theRows,theColumns;
		T *element;
  }; 
  template <class T>
 T lowerSymmetricMatrix<T>::getelement(int i,int j){
  	return this->element[i+j+(i*(i-1))/2];
  }
  template <class T>
  	void lowerSymmetricMatrix<T>::setelement(T a,int i,int j){
  		element[i+j+(i*(i-1))/2]=a;
	  }
  

在做这道题时有一个小问题,就是在类下面写方法的时候,不能完全复制。比如setelement(T a,int i=0,int j=0)就会报错,需要把初值删除。
报错如下
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值