首页 > 其他分享 >实验四

实验四

时间:2022-11-09 09:49:00浏览次数:35  
标签:const Matrix int void 实验 vectorInt size

#pragma once
#include<iostream>
using namespace std;
class vectorInt {
public:
    vectorInt(int n);
    vectorInt(int n, int value);
    vectorInt(const vectorInt &v0);
    ~vectorInt();
    friend void output(vectorInt& v);
    int& at(int n);
    int get_size();
private:
    int size;
    int* p;
};
vectorInt::vectorInt(int n0) {
    cout << "constructor 1 called." << endl;
    size = n0;
    p = new int[n0];
}
vectorInt::vectorInt(int n0, int value) {
    cout << "constructor 2 called." << endl;
    size = n0;
    p = new int[n0];
    for (int i = 0; i < n0; i++)
        p[i] = value;
}
vectorInt::vectorInt(const vectorInt& v0) {
    cout << "copy constructor called." << endl;
    size = v0.size;
    p = new int[size];
    for (int i = 0; i < size; i++)
        p[i] = v0.p[i];
}
vectorInt::~vectorInt() {
    cout << "destructor called." << endl;
}
int& vectorInt::at(int n) {
   
      int  assert(n >= 0 && n < size);
    return p[n];
}
int vectorInt::get_size() {
    return size;
}
void output(vectorInt& v) {
    for (int i = 0; i < v.size; i++)
        cout << v.at(i) << " ";
    cout << endl;
}

 

 

#pragma once

#include <iostream>


using std::cout;
using std::endl;

class Matrix {
public:
    Matrix(int n);                
    Matrix(int n, int m);              
    Matrix(const Matrix &X);       
    ~Matrix();                         

    void set(const double *pvalue);     
    void set(int i, int j, int value); 
    double &at(int i, int j);         
    double at(int i, int j) const;     
    int get_lines() const;          
    int get_cols() const;           
    void print() const;              

private:
    int lines; 
    int cols;  
    double *p;
};



Matrix::Matrix(int n): lines{n}, cols{n}
{
    cout << "Matrix1 called\n";
    p = new double[n * n];   
}

Matrix::Matrix(int n, int m): lines{n}, cols{m}
{
    cout << "Matrix2 called\n";
    p = new double[n * m];
}

Matrix::Matrix(const Matrix &X): lines{X.lines}, cols{X.cols}
{
    cout << "Matrix copy called\n";
    lines = X.lines;
    cols = X.cols;
    p = new double[lines * cols];
    for (int i = 0; i < lines * cols; i++)
    {
        p[i] = X.p[i];
    }
    
}

Matrix::~Matrix()
{
    for(int i=0;i<lines*cols;i++)
            delete[] p;
}

void Matrix::set(const double *pvalue)
{
    for (int i = 0; i < sizeof(pvalue); i++)
    {
        p[i] = pvalue[i];
    }
    
  
}

void Matrix::set(int i, int j, int value)
{
    p[i * cols + j] = value;
}

double &Matrix::at(int i, int j)
{
    return p[i * cols + j];
}

double Matrix::at(int i, int j) const
{
    return p[i * cols + j];
}

int Matrix::get_lines() const
{
    return lines;
}

int Matrix::get_cols() const
{
    return cols;
}

void Matrix::print() const
{
    for(int i = 0; i < lines; i++)
    {
          for (int j = 0; j < cols; j++)
          {
            cout << p[i * cols + j] <<  ", ";           
          }
          cout << endl;          
    }
}

 

标签:const,Matrix,int,void,实验,vectorInt,size
From: https://www.cnblogs.com/hjr123/p/16872512.html

相关文章

  • 实验4
    task5:#include<iostream>#include<cassert>#include<stdlib.h>#definevalue1usingnamespacestd;classvectorint{public:vectorint(inta)......
  • 实验四
    实验任务5:vectorInt.hpp#pragmaonce#include<bits/stdc++.h>usingnamespacestd;classvectorInt{public:vectorInt(intn);vectorInt(intn,intv......
  • 实验四
    实验任务5.cppvoidtest(){usingnamespacestd;intn;cin>>n;vectorIntx1(n);for(autoi=0;i<n;i++)x1.at(i)=i*......
  • 实验三
    任务1#include<stdio.h>#include<stdlib.h>#include<time.h>#include<windows.h>#defineN80voidprint_text(intline,intcol,chartext[]);voidpri......
  • 实验四 类与数组、指针
    任务五代码:vectorInt:#pragmaonce#include<iostream>#include<cassert>usingnamespacestd;classVectorInt{public:VectorInt(ints);......
  • 实验四
    1cpp#include<iostream>#include"point.hpp"#include<vector>usingnamespacestd;voidtest1(){intn;cin>>n;vector<Point>x(n);x.......
  • 实验四
    task5vectorint.hpp#pragmaonce#include<iostream>#include<cassert>usingnamespacestd;classvectorint{public:vectorint(){};vectorint(intn......
  • 2022.11.8(软件工程y实验一)
    1)回顾你过去将近3年的学习经历当初你报考的时候,是真正喜欢计算机这个专业吗?你现在后悔选择了这个专业吗?你认为你现在最喜欢的领域是什么(可以是计算机的也可以是其它领......
  • 实验四
    task5:vectorInt.hpp:#pragmaonce#include<bits/stdc++.h>#include<iomanip>usingnamespacestd;classvectorInt{public:vectorInt(intnum):si......
  • 实验3
    task1#include<stdio.h>#include<stdlib.h>#include<time.h>#include<windows.h>#defineN80voidprint_text(intline,intcol,chartext[]);voidprint_spac......