C++實驗 實驗3 類和物件 4
設計一個float型別的陣列類CFltArray,要求CFltArray可以進行如下操作:
(1)可以重置陣列的大小(Resize)
(2)可以通過下標返回陣列元素,並對下標越界情況進行檢查
(3)可以利用已知陣列物件對整個陣列賦值和初始化
(4)可以返回當前陣列的大小(Size)
最後用資料驗證你所設計的類。
提示:
(1)利用已知陣列物件對整個陣列賦值,說明要求過載等號運算子
(2)利用已知陣列物件對整個陣列初始化,說明要求過載拷貝建構函式
(3)要求用指標儲存陣列物件中元素
#include<iostream> #include<stdlib.h> using namespace std; class CFltArray { public: CFltArray(int sz); CFltArray(CFltArray &A); float& operator = (CFltArray A); float& operator [] (int i); void ReSize(int sz); int GetSize(); ~CFltArray(); private: int size; float *Arr; }; //預設建構函式 CFltArray::CFltArray(int sz) { if(sz <= 0) exit(1); size = sz; Arr = new float[size]; } //解構函式 CFltArray::~CFltArray() { delete [] Arr; } //重置陣列的大小 void CFltArray::ReSize(int sz) { size = sz; Arr = new float[size]; } //通過下標返回陣列元素 float& CFltArray::operator [](int i) { if(i < 0 || i > size - 1) { cout << "陣列下標越界!" << endl; exit(1); } return Arr[i]; } //返回當前陣列的大小 int CFltArray::GetSize() { return size; } CFltArray::CFltArray(CFltArray &A) { size = A.GetSize(); Arr = new float[size]; float *ap = A.Arr; float *tp = Arr; for(int i = 0; i < size; i++) *tp++ = *ap++; cout << "拷貝建構函式被呼叫" << endl; } float& CFltArray::operator = (CFltArray A) { size = A.size; Arr = new float[size]; float *ap = A.Arr; float *tp = Arr; for(int i = 0; i<size; i++) tp[i] = ap[i]; return Arr[size]; } int main(void) { CFltArray array(10); for(int i = 0; i < 10; i++) array[i] = i; for(int i = 0; i < 10; i++) cout << array[i] << " "; cout << endl; CFltArray Aarray = array; cout << "初始化後陣列大小: " << Aarray.GetSize() << endl; cout << Aarray[8] << endl; array.ReSize(20); cout << "重置後陣列大小: " << array.GetSize() << endl; system("pause"); return 0; }
相關推薦
C++實驗 實驗3 類和物件 4
設計一個float型別的陣列類CFltArray,要求CFltArray可以進行如下操作: (1)可以重置陣列的大小(Resize) (2)可以通過下標返回陣列元素,並對下標越界情況進行檢查 (3)可以利用已知陣列物件對整個陣列賦值和初始化 (4)可以返回當前陣列的大小(
1.面向過程程式設計 2.面向物件程式設計 3.類和物件 4.python 建立類和物件 如何使用物件 5.屬性的查詢順序 6.初始化函式 7.繫結方法 與非繫結方法
1.面向過程程式設計 面向過程:一種程式設計思想在編寫程式碼時 要時刻想著過程這個兩個字過程指的是什麼? 解決問題的步驟 流程,即第一步幹什麼 第二步幹什麼,其目的是將一個複雜的問題,拆分為若干的小的問題,按照步驟一一解決,也可以說 將一個複雜的問題,流程化(為其制定一個固定的實現流程),從而變得簡單化例如
C++實驗 實驗3 類和物件 1
定義一個圓類,計算圓的面積和周長。 要求:分別用成員函式和友元函式來求圓的面積和周長。 #include<iostream> using namespace std; const double PI = 3.14159; class Circle
C++實驗 實驗3 類和物件 3
定義日期型別Date。要求有以下成員: (1)可以設定日期; (2)日期加一天操作; (3)輸入函式,輸入格式為:XXXX XX XX,如2010 4 13; (4)輸出函式,輸出格式為:XXXX年XX月XX日,如2010年4月11日。 #include<io
實驗3 類和物件
本次實驗主要圍繞類和物件,按照課本所述類是一種抽象機制,用於描述一類事物的共同屬性和行為,物件則是該類的某一特定實體或者例項,初次聽這些描述其實比較晦澀,看到例項就比較易懂了,C++中的類和C語言中的結構體從形式上看很像,但是還含有結構體沒有的內容,類中有外部介面和私
Java基礎 實驗二:類和物件
1.實驗目的 掌握類的宣告、物件的建立、方法的定義和呼叫、建構函式的使用。 2.實驗內容 1)定義一個表示學生資訊的類Student,要求如下: ① 類Student的成員變數: sNO 表示學號;
Java 實驗案例(類和物件篇)
實驗任務 任務一:手機類的封裝 任務二:基於控制檯的購書系統 任務三:簡單的投票程式 實驗內容 任務一:手機類的封裝 任務目的 理解和掌握面向物件的設計過程 掌握類的結構和定義過程 掌握構造方法及其過載
C++學習筆記 (二) ---- 類和物件
①、類和物件 類的定義,如下: class Student{ public: //成員變數 char *name; int age; float score; //成員函式 void say(){ cout<<
kotlin(3):類和物件以及其他的概念屬性
類和物件 類宣告由類名,類頭(指定其型別引數,主建構函式等)和由大括號包圍的類體構成,類頭和類體都是可選的,如果一個類沒有類體,可以省略花括號. 1.主建構函式 在kotlin中的一個類可以有一個主建構函式和多個次建構函式,主建構函式是類頭的一部分,跟在類名後.
.net(C#)中的類和物件
比較簡單,不過是很認真寫的,希望對看到的同學有所幫助! 首先說下類: 類呢,就是一類事物的抽象,抽象的過程中把,這類事物共有的、一般性的特徵、行為啦,抽象成類中的屬性和方法。 舉個例子: 就說人吧,可以把人作為一個類,人這個類的特徵:兩條腿、兩個胳膊、兩個眼睛等
C++第八章 類和物件(二)
【專案1 - 三角形類】下面設計一個三角形類,請給出各成員函式的定義 #include<iostream> #include<cmath> using namespace std; class Triangle {public: void Set
C++(五)類和物件的應用(日期類實現)
可以實現日期之間的加加,減減,大小比較等 直接看程式碼 函式的宣告 #pragma once #include <iostream> using namespace std; class Date{ public: Date(in
C++實驗3_3 類和物件(3)
五、實驗結果及分析 1. 構造了一個CPU! CPU開始執行! CPU停止執行! 析構了一個CPU! 3. #include <iostream.h> enum CPU_Rank {P1=1,P2,P3,P4,P5,P6,P7
C++第3次實驗 類和物件
一、問題及程式碼 /* * 檔名稱: 靜態成員應用 * 作 者:姜小萌 * 完成日期:2016年4月8日 * 版 本 號:vc6.0 * 對任務及求解方法的描述部分:運用類和物件完成 * 輸入描述:無 * 問題描述: 設計含有靜態資
C++實驗2-類和物件1
一、問題及程式碼 /* * 檔名稱: C++ * 作 者: 尚超 * 完成日期:2016年3月11日 * 版 本 號:v1.0 * 對任務及求解方法的描述部分: * 輸入描述: * 問題描述: 輸入任意三個數,按從小到大輸出 * 程式輸出: * 問題分
c++實驗3類和對象
code 實現 pub -s char display art 圖片 lose 實 驗 3: part 1:驗證 part 2:graph #include <iostream> #include "graph.h" using nam
C++ 實驗3 類和對象
pub n) mage Once include oid con rap efi Part 2 #ifndef GRAPH_H #define GRAPH_H class Graph { public: Graph(char ch, int n);
實驗3 類和對象
具體實現 .sh code 原本 alt src ret 運行 應用 實驗結論 4-11 定義並實現一個矩形類,有長,寬兩個屬性,由成員函數計算矩形的面積。 #include <iostream> using namespace std; class rect
【類和物件】求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)
題目描述: 求1+2+3+...+n,要求不能使用乘除法(數學公式)、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C). 分析:這道題雖然常用的方式都給禁掉了,但是可以使用我們c++學過的類和物件,通過使用類和靜態來完成。常規情況下,從1+到n,
Beginng_Java7(譯):發現類和物件(第二章3.4.5節)(完)
多型 一些現實世界的實體可以改變他們的形式。 例如,水(在地球上而不是星際空間)自然是液體,但在冷凍時會變成固體,在加熱到沸點時會變成氣體。 諸如經歷變態的蝴蝶之類的昆蟲是另一個例子。 改變形式的能力被稱為多型,並且對於在程式語言中建模是有用的。 例如,通過引入