青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

華劍緣
一切都在這個過程中獲得,將那些目標埋藏于心中
posts - 19,comments - 20,trackbacks - 0

實驗 3 對象數組與對象指針

1 .實驗目的

(1) 掌握數組與指針的定義與使用方法。

(2) 理解數組與指針的存儲分配與表示。

(3) 學習向函數傳遞數組的方法。

(4) 學習用指針和引用向函數傳遞參數。

(5) 學習靜態數據成員和靜態成員函數的使用。

(6) 理解友元與友元函數的作用與使用方法。

2 .實驗基本要求

(1) 設計一個矩陣類 Matrix( 矩陣由二維數組實現 ) ,有分配空間和對矩陣賦值的功能。

(2) 練習將這個矩陣類的對象作為參數傳送到函數 Mul() ,用普通、指針和引用三種方法實現,并要注意這三種方式的區別。

??? ①直接傳送: Mul(Matrix a Matrix b) 。實際上只是傳送值,在函數中針對對象的任何修改均不影響該對象本身。

??? ②指針傳送: Mul(Matrix *pa Matrix *pb) 。要注意指針的級數。

??? ③引用傳送: Mul(Matrix & a Matrix & b) 。這種調用將影響參數的實際值。

(3) Mul() 函數實現:完成對傳送的兩個 Matrix 對象的相乘運算。下面給出矩陣相乘的算法:

??? ①矩陣 a[i][j] 與矩陣 b[x][y] 相乘,條件是 j==x

??? ②乘積是一個新的矩陣 c[i][y] ,其中 c[i][y] 的值是∑ (a[i][k]* b[k][y]) ,其中 K 0,l,…,j

(4) Matrix 類中定義一個靜態數據成員,記錄當前的所有 Matrix 對象的數量。

(5) 定義一個友元函數實現轉置的功能。轉置是指將數組中 a[i][j] a[j] [i] 的值對調。

3 .實驗基本步驟

(1) 建立一個工程。在工程中定義一個 Matrix 類,在構造函數中根據參數創建數據成員:一個二維數組。提示:用構造函數記錄二維數組的大小 (unsigned int x unsigned int y) 類中實際定義的二維數組的數據成員是一個指針 ( 二級指針 ) int **pMatrix 在構造函數中根據傳送的參數為這個二維數組分配空間: pMatrix newint[x][y]

(2) 設計成員函數,完成對數組的賦值的功能。本例中定義的成員函數為 SetValue(unsigned int x unsigned int y int value)

(3) 參考以上的說明,以常用三種方式實現向 Mul() 函數傳送參數,并返回矩陣相乘的結果。

(4) 在類中定義一個靜態的數據成員 ObjectAliveNo ,記錄當前共有幾個 Matrix 類的對象。實現方法:可以在對象的構造函數中向該數據成員報告 ( 使靜態數據成員加 1) ;在析構函數中也向該數據成員報告 ( 使靜態數據成員減 1) 。并要注意,在程序開始時,給這個靜態數據成員賦初值。

(5) Matrix 類中定義一個友元函數,使其具有對 Matrix 類的對象內的數組進行轉置的功能。




?

#include? < iostream >
using ? namespace ?std;
class ?Matrix
{
private :
????
int ?rows,columns;
public :
int ? ** pMatrix;
Matrix(?
int ?rows, int ?columns);
Matrix(Matrix
& ?);
~ Matrix();
int ?GetRows();
int ?GetColumns();
void ?SetValue();
void ?Mul(Matrix? & ?a,Matrix? & ?b);


}
;

int ?Matrix::GetRows() { return ?rows;} ;
int ?Matrix::GetColumns() { return ?columns;} ;

// 構造函數
Matrix::Matrix( int ?x, int ?y)
{
rows
= x;
columns
= y;
pMatrix
= new ? int * ?[x];
for ( int ?i = 0 ;?i < x;?i ++ )
??pMatrix[i]
= new ? int ?[y];
}


// 析構函數
Matrix:: ~ Matrix()
{
for ( int ?i = 0 ;i < columns;i ++ )
??delete?[]pMatrix[i];
????delete[]?pMatrix;
}


// 賦值函數
void ?Matrix::SetValue()
{
????
int ?i,j,value;
????
for (?i = 0 ;?i < rows;?i ++ )
{
??
for (?j = 0 ;?j < columns;?j ++ )
??
{
???cout
<< " " << i << " " ;
???cout
<< " " << j << " 列: " ;
???cin
>> value;
???cout
<< endl;
???pMatrix[i][j]
= value;
??}

}

}


// 拷貝構造函數
Matrix::Matrix(Matrix & ?M)
{
for ( int ?i = 0 ;?i < M.rows;?i ++ )
??
for ( int ?j = 0 ;?j < M.columns;?j ++ )
???pMatrix[i][j]
= M.pMatrix[i][j];????? /// 這樣對么?
}


void ?Matrix::Mul(?Matrix? & ?a,?Matrix? & ?b)
{
Matrix?c(a.GetRows(),b.GetColumns());
int ?temp = 0 ;
????
for ( int ?ai = 0 ;ai < a.GetRows();ai ++ )
{

??
for ( int ?bj = 0 ;bj < b.GetColumns();bj ++ )
??
{
???
for ( int ?aj = 0 ;aj < a.GetColumns();aj ++ )
????temp
= temp + a.pMatrix[ai][aj] * b.pMatrix[aj][bj];
???c.pMatrix[ai][bj]
= temp;
???temp
= 0 ;
??}

}

for ( int ?i = 0 ;i < c.GetRows();i ++ ) { // 輸出相乘后的矩陣
???cout << ' \n ' ;
??
for ( int ?j = 0 ;j < c.GetColumns();j ++ )
???cout
<< c.pMatrix[i][j] << " ?? " ;
?}

}

// 主函數
int ?main()
{
Matrix?Ma(
2 , 2 ),Mb( 2 , 2 );
Ma.SetValue();
Mb.SetValue();

for ( int ?i = 0 ;i < Ma.GetRows();i ++ )
{
????cout
<< ' \n ' ;
??
for ( int ?j = 0 ;j < Ma.GetColumns();j ++ )
???cout
<< Ma.pMatrix[i][j] << " ? " ;
}

cout
<< endl;
Matrix?Mc(
2 , 2 );
Mc.Mul(Ma,Mb);
/*
for(int?i=0;i<Mc.GetRows();i++)
{
????cout<<'\n';
??for(int?j=0;j<Mc.GetColumns();j++)
???cout<<Mc.pMatrix[i][j]<<"?";
}
*/

return ? 0 ;
}

posted on 2006-04-03 16:21 華劍緣 閱讀(1380) 評論(0)  編輯 收藏 引用
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久精品女人的天堂av| 国产精品国产精品国产专区不蜜| 欧美日韩亚洲一区在线观看| 国产精品爽黄69| 亚洲一区中文| 亚洲丝袜av一区| 国产精品久久久免费| 欧美午夜不卡在线观看免费 | 欧美一区二区| 欧美亚洲在线| 亚洲高清不卡在线| 亚洲乱码一区二区| 久久精品国产一区二区电影| 亚洲六月丁香色婷婷综合久久| 99视频在线观看一区三区| 欧美一级成年大片在线观看| 久久视频在线看| 99精品国产热久久91蜜凸| 久久九九99| 欧美风情在线| 欧美午夜不卡在线观看免费| 韩国三级电影一区二区| 性做久久久久久| 亚洲黄一区二区| 久久中文精品| 国内视频一区| 久久久久99| 亚洲午夜一二三区视频| 欧美激情女人20p| 一区二区三区在线视频观看| 亚洲一区网站| 在线一区二区三区做爰视频网站| 久久噜噜噜精品国产亚洲综合| 国产精品专区一| 午夜久久久久久| 亚洲男人第一av网站| 国产精品久久久久久久9999| 亚洲男同1069视频| 亚洲美女视频在线观看| 欧美—级在线免费片| 99精品国产99久久久久久福利| 欧美激情一区二区三区不卡| 欧美视频在线免费看| 亚洲欧美成人在线| 久久婷婷国产综合精品青草 | 一区二区三区在线视频免费观看 | 久久久久久久久岛国免费| 亚洲欧美日韩一区二区三区在线观看 | 国产一区白浆| 久久影院午夜论| 欧美成人综合网站| 性欧美xxxx大乳国产app| 久久久久国产精品一区三寸| 亚洲欧洲一区二区三区久久| 一本久道久久综合狠狠爱| 国内精品国产成人| 亚洲欧洲在线看| 国自产拍偷拍福利精品免费一| 亚洲精品国产精品国产自| 国内成人精品一区| 亚洲图片在区色| 亚洲精品国精品久久99热一| 欧美一级淫片播放口| 宅男噜噜噜66一区二区 | 在线亚洲免费| 91久久香蕉国产日韩欧美9色| 亚洲伊人伊色伊影伊综合网| 亚洲欧洲日韩在线| 欧美xxx在线观看| 欧美成人午夜激情| 亚洲国产一区二区a毛片| 久久av在线看| 久久精品一区二区三区不卡牛牛| 欧美日韩国产综合视频在线| 玉米视频成人免费看| 香蕉久久一区二区不卡无毒影院| 午夜一区在线| 国产精品久久毛片a| 香蕉成人久久| 久久人91精品久久久久久不卡| 国产一区91| 欧美激情性爽国产精品17p| 亚洲精品一区久久久久久| 亚洲无限乱码一二三四麻| 国产精品无码专区在线观看| 久久久噜噜噜久久久| 欧美成年人视频网站欧美| 99re热精品| 国产精品扒开腿做爽爽爽软件 | 欧美一区二区三区四区在线观看地址| 欧美精品色一区二区三区| 一本色道久久88综合亚洲精品ⅰ| 午夜视频一区| 亚洲国产美女精品久久久久∴| 欧美日韩大片| 久久综合给合| 欧美一区二区视频在线观看2020| 欧美福利专区| 久久天天躁狠狠躁夜夜av| 亚洲四色影视在线观看| 亚洲青色在线| 在线观看一区视频| 国内外成人在线| 国产午夜精品全部视频在线播放 | 亚洲欧美一区二区三区极速播放| 国产一区二区三区黄视频| 国产精品国产三级国产专区53 | 99re热这里只有精品视频| 裸体一区二区| 久久综合亚洲社区| 可以看av的网站久久看| 欧美一区亚洲二区| 久久高清国产| 美女免费视频一区| 欧美大片一区二区| 欧美国产一区二区| 亚洲靠逼com| 亚洲一区二区三区久久| 欧美在线播放视频| 久久亚洲影院| 国产精品久久久久久久久久久久| 国产欧美精品| 91久久中文| 亚洲免费在线观看视频| 麻豆成人av| 亚洲午夜视频在线观看| 猫咪成人在线观看| 欧美午夜免费| 日韩亚洲不卡在线| 欧美一区二区三区视频在线| 欧美成人伊人久久综合网| 99视频一区二区| 免费亚洲婷婷| 伊伊综合在线| 欧美在线观看一区二区| 亚洲精品视频免费| 欧美专区在线播放| 国产精品igao视频网网址不卡日韩| 黄色日韩在线| 欧美一级片一区| 一区二区免费在线观看| 欧美v日韩v国产v| 激情文学综合丁香| 久久看片网站| 久久偷看各类wc女厕嘘嘘偷窃| 国产精品日韩在线观看| 中文精品99久久国产香蕉| 亚洲人成人一区二区三区| 免费h精品视频在线播放| 亚洲欧美日韩一区| 国产精品欧美久久| 久久激情网站| 亚洲欧美激情精品一区二区| 国产精品免费看| 久久网站热最新地址| 久久久九九九九| 亚洲福利视频在线| 亚洲精选中文字幕| 国产精品久99| 蜜桃av噜噜一区二区三区| 欧美xart系列高清| 一本一本a久久| 亚洲视频在线二区| 国产一区二区欧美日韩| 男女精品网站| 国产精品私拍pans大尺度在线 | 亚洲视频 欧洲视频| 亚洲午夜久久久久久尤物| 国产欧美三级| 一区二区三区免费网站| 国产一区免费视频| 亚洲伦伦在线| 亚洲高清不卡av| 亚洲一区在线视频| 亚洲人成在线播放网站岛国| 亚洲欧美日韩一区二区三区在线观看| 韩国精品在线观看| 亚洲制服丝袜在线| 亚洲免费一区二区| 欧美亚洲第一区| 亚洲三级免费电影| 亚洲第一中文字幕在线观看| 亚洲伊人色欲综合网| 亚洲最新色图| 免费久久99精品国产自| 欧美+日本+国产+在线a∨观看| 国产麻豆精品在线观看| 在线亚洲伦理| 亚洲男人的天堂在线观看| 欧美视频观看一区| 日韩一区二区免费高清| 亚洲网站在线| 国产区亚洲区欧美区| 亚洲视频在线观看一区| 久久久亚洲午夜电影| 免费黄网站欧美| 亚洲黄色天堂| 国产精品久久久亚洲一区| 亚洲性感激情| 欧美二区乱c少妇|