c 中矩陣相乘(物件陣列與物件指標的應用)

2021-08-01 03:52:34 字數 1225 閱讀 7864

設計乙個矩陣類 matrix(矩陣由二維陣列實現),有分配空間和對矩陣賦值的功能。

將這個矩陣類的物件作為引數傳送到函式 mul()

用三種方式傳遞引數:

直接傳送:mul(matrix a,matrix b),實際上只是傳送值,在函式中針對 物件的任何修改均不影響該物件本身

指標傳送:mul(matrix *pa,matrix *pb)

引用傳送:mul(matrix &a,matrix &b)

將 mul() 函式實現

定義乙個友元函式實現轉製功能。轉製是指將陣列中 a[i][j]與 a[j][i]的值對調。

下面給出**

#include

using

namespace

std;

class matrix

unsigned

int gety()

int getvalue( int x, int y)

};

int matrix::matrixnum=0; //靜態變數初始化

matrix::matrix(unsigned

int x,unsigned

int y)

matrix::matrix(matrix &m)

void matrix::setvalue(unsigned

int x,unsigned

int y,int value)

void matrix::input() }

void matrix::print()const

}

matrix rotate(matrix &m)

matrix mul(matrix a,matrix b)

matrix mul(matrix* a,matrix* b)

return c; }

matrix mul(matrix& a,matrix& b)

return c; }

int main()

注意點:

1) 在定義友元函式是不需要有類的限定

2) 引用函式時要記得()

3) 在通過引用和陣列對矩陣進行操作時,是對矩陣本身操作,而直接傳遞相當於是對形參進行操作,不影響實參

4) 再給二重指標分配空間時,二級指標=指標陣列,指標陣列中的元素值=整形陣列

C 之物件陣列與物件指標

是指每乙個陣列元素都是物件的陣列,也就是說,若乙個類有若干個物件,我們把一系列的物件用乙個陣列來存放。物件陣列的元素是物件,不僅具有資料成員,而且還有函式成員。格式 類名 陣列名 下標表示式 在建立陣列時,同樣要呼叫建構函式。有幾個陣列元素就要呼叫幾次建構函式。1 當只需要乙個引數時,在定義物件陣列...

C 物件陣列與this指標

標籤 空格分隔 c 版本 2該文章僅被發布於作業部落 原 csdn 由於在c 中我們可以直接操作堆和棧,所以在宣告時我們也需要選擇陣列的建立方式。有一種最顯而易見的方法去判斷變數的儲存狀態,就是看物件建立時有沒有用new關鍵字。1,棧陣列棧物件 顧名思義就是陣列和物件都在當前棧中分配,帶來的好處就是...

bool指標 如何賦值 C 物件陣列與物件指標

所謂物件陣列是指每一陣列元素都是物件的陣列,也就是說,若乙個類有若干個物件,則把這一系列的物件用乙個陣列來存放。物件陣列的元素是物件,不僅具有資料成員,而且還有函式成員 定義乙個一維陣列的格式如下 類名 陣列名 下標表示式 exam ob 4 定義了類exam的物件陣列ob.與基本資料型別的陣列一樣...