国产探花免费观看_亚洲丰满少妇自慰呻吟_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;}


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

圖片精選

主站蜘蛛池模板: 谢通门县| 宣城市| 定边县| 丹阳市| 北辰区| 铜陵市| 出国| 巴塘县| 东港市| 阿合奇县| 承德市| 汕尾市| 尚义县| 西城区| 巴彦县| 余姚市| 邵东县| 开远市| 旺苍县| 谷城县| 郯城县| 鄂托克前旗| 东方市| 赤峰市| 彝良县| 水富县| 三江| 全南县| 玉门市| 双城市| 齐齐哈尔市| 梅州市| 怀化市| 教育| 莆田市| 丹江口市| 岱山县| 定日县| 宝应县| 茂名市| 台南县|