日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

实现数组类(C++ 拷贝构造函数、拷贝函数)要判断赋值左右对象不相等,坑惨了...

發布時間:2025/4/5 c/c++ 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 实现数组类(C++ 拷贝构造函数、拷贝函数)要判断赋值左右对象不相等,坑惨了... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include <iostream> using namespace std; class ArrayIndexOutOfBoundsException{ // 異常類 public:int index;ArrayIndexOutOfBoundsException(int k){index = k;} }; class Array{ private:int *data;int size;static const int dSize = 10; // 數組默認大小 public:Array( ){ // 無參構造size = dSize;data = new int[size]( );}Array(int n ){ // 有參構造size = n;data = new int[size]( );}Array(const Array& arr)//拷貝構造函數,深拷貝{if(arr.size>0) { size = arr.size;data = new int[size]( );for (int i = 0; i < size; i++){data[i] = arr.data[i];}}}Array& operator = (const Array& arr){if(this!=&arr)//如果等號右側的對象和左邊的不是一個對象再賦值(沒有這句會運行error),要判斷賦值左右對象不相等,坑慘了 {delete []data;//先釋放掉之前的內存,否則會內存超限 size = arr.size;data = new int[size]( );for (int i = 0; i < size; i++){this->data[i] = arr.data[i];}}return *this;}~Array() {if (this->data != NULL)//不為空才釋放 {delete []data;}}int& operator [] (int k){ // 運算符 [ ] 重載,以方便數組的使用if(k<0 || k>=size) throw ArrayIndexOutOfBoundsException(k);return data[k];}friend ostream& operator << (ostream& o, const Array& a); // 運算符 << 重載,以方便輸出 }; ostream& operator << (ostream& o, const Array& a){o << '[' ;for(int i=0; i<a.size-1; i++)o << a.data[i] << ',' ;o << a.data[a.size-1] << ']';return o; } // 注意:實際測試程序中,在此處之前的代碼與樣例中相同 // 注意:實際測試程序中,在此處之后的代碼(即main函數)可能與樣例中不同 int main(){int n, k;cin >> n >> k;Array a(n); // 構造數組,大小為 nfor(int i=0; i<n; i++) a[i] = i;Array b = a; // 拷貝構造數組b[n/2] = k;cout << a << endl;cout << b << endl;Array c; // 構造數組,默認大小c = a; // 拷貝數組c[n/2] = k;cout << a << endl;cout << c << endl;a = a;a[n/2] = 2223;cout << a << endl;return 0; }

  

轉載于:https://www.cnblogs.com/cstdio1/p/11080172.html

總結

以上是生活随笔為你收集整理的实现数组类(C++ 拷贝构造函数、拷贝函数)要判断赋值左右对象不相等,坑惨了...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。