国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

運算符重載-編程題#3(C++程序設計第4周)

2019-11-06 07:56:47
字體:
來源:轉載
供稿:網友

編程題 #3

來源: POJ (Coursera聲明:在POJ上完成的習題將不會計入Coursera的最后成績。)

注意: 總時間限制: 1000ms 內存限制: 65536kB

描述

寫一個二維數組類 Array2,使得下面程序的輸出結果是:

0,1,2,3,

4,5,6,7,

8,9,10,11,

next

0,1,2,3,

4,5,6,7,

8,9,10,11,

程序:

1234567891011121314151617181920212223242526#include <iostream>#include <cstring>using namespace std;// 在此處補充你的代碼int main() {    Array2 a(3,4);    int i,j;    for( i = 0;i < 3; ++i )        for( j = 0; j < 4; j ++ )            a[i][j] = i * 4 + j;    for( i = 0;i < 3; ++i ) {        for( j = 0; j < 4; j ++ ) {            cout << a(i,j) << ",";        }        cout << endl;    }    cout << "next" << endl;    Array2 b; b = a;    for( i = 0;i < 3; ++i ) {        for( j = 0; j < 4; j ++ ) {            cout << b[i][j] << ",";        }        cout << endl;    }    return 0;}

輸入

輸出

0,1,2,3,

4,5,6,7,

8,9,10,11,

next

0,1,2,3,

4,5,6,7,

8,9,10,11,

樣例輸入

1無

樣例輸出

12345670,1,2,3,4,5,6,7,8,9,10,11,next0,1,2,3,4,5,6,7,8,9,10,11,

代碼:

#include <iostream>#include <cstring>using namespace std;// 在此處補充你的代碼//定義一個類Array2//要重載操作符'[]',支持二維數組下標//要重載操作符 '()'//要進行深度拷貝,建立自己的拷貝構造函數class Array2{PRivate:	int arr[10][10];public:	Array2();	Array2(int, int);	int*  Operator [](int i);	int operator()(int i, int j);	Array2(Array2& c);};//建立默認構造函數Array2::Array2(){	for (int i = 0; i < 10; i++)		for (int j = 0; j < 10; j++)		{		arr[i][j] = 0;		}}//建立構造函數,初始化二維數組arrArray2::Array2(int a, int b){	for (int i = 0; i < a; i++)		for (int j = 0; j < b; j++)		{		arr[i][j] = 0;		}}//重載操作符'[]',支持二維數組下標int*  Array2::operator [](int i){	return arr[i];    //它是二維數組arr的第i個元素,即第i個小數組的首地址,故返回值類型應該為int* }//重載操作符 '()'  int Array2::operator()(int i, int j){	return arr[i][j];}//建立自己的拷貝構造函數,進行深度拷貝Array2::Array2(Array2& c){	for (int i = 0; i < 10; i++)		for (int j = 0; j < 10; j++)		{		arr[i][j] = c.arr[i][j];		}}int main() {	Array2 a(3, 4);	int i, j;	for (i = 0; i < 3; ++i)		for (j = 0; j < 4; j++)			a[i][j] = i * 4 + j;  //說明要重載操作符'[]',支持二維數組下標	for (i = 0; i < 3; ++i) {		for (j = 0; j < 4; j++) {			cout << a(i, j) << ","; //說明要重載操作符 '()'		}		cout << endl;	}	cout << "next" << endl;	Array2 b;     b = a;    //說明要進行深度拷貝	for (i = 0; i < 3; ++i) {		for (j = 0; j < 4; j++) {			cout << b[i][j] << ",";		}		cout << endl;	}	return 0;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 延吉市| 屯留县| 武城县| 资兴市| 永宁县| 会同县| 鹰潭市| 霍城县| 武乡县| 永和县| 福海县| 民乐县| 定边县| 永宁县| 枣阳市| 河南省| 启东市| 定兴县| 营山县| 峡江县| 五河县| 新乐市| 海口市| 垣曲县| 南雄市| 高邑县| 巴里| 丁青县| 三穗县| 藁城市| 灵丘县| 金寨县| 株洲县| 上林县| 太康县| 易门县| 唐河县| 新竹县| 宣恩县| 漳平市| 阿勒泰市|