面向对象编程实验课随笔(承继下的构造函数和析构函数)
生活随笔
收集整理的這篇文章主要介紹了
面向对象编程实验课随笔(承继下的构造函数和析构函数)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、試驗(yàn)內(nèi)容
1.將示例代碼用電腦運(yùn)行,并展示運(yùn)行結(jié)果。
2.聲明一個(gè)SortArray繼承類MyArray,在類中定義一個(gè)函數(shù),具有將輸入的整數(shù)從小到大進(jìn)行排序的功能。
二、試驗(yàn)步驟
1.運(yùn)行示例代碼,并運(yùn)行
#include<iostream> #include<string> using namespace std; class MyArray { public:MyArray(int leng);~MyArray();void Input();void Display(string); protected:int* alist;int length; }; MyArray::MyArray(int leng) {if (leng <= 0){cout << "error length";exit(1);}length = leng;alist = new int[length];if (alist == NULL){cout << "assign failure";exit(1);}cout << "MyArray類對象已創(chuàng)建" << endl; } MyArray::~MyArray() {delete[]alist;cout << "MyArray類對象已撤銷" << endl; } void MyArray::Display(string str) {int i;int* p = alist;cout << str << length << "個(gè)整數(shù)";for (i = 0; i < length; i++, p++){cout << *p << " ";}cout << endl; } void MyArray::Input() {cout << "請從鍵盤輸入" << length << "個(gè)整數(shù):";int i;int* p = alist;for (i = 0; i < length; i++, p++){cin >> *p;} } int main() {SortArray s(5);s.Input();s.Display("顯示已經(jīng)輸入的");return 0; }運(yùn)行結(jié)果如下:
2.聲明一個(gè)SortArray繼承類MyArray,在類中定義一個(gè)函數(shù),具有將輸入的整數(shù)從小到大進(jìn)行排序的功能。
代碼如下:
#include<iostream> #include<string> using namespace std; class MyArray { public:MyArray(int leng);~MyArray();void Input();void Display(string); protected:int* alist;int length; }; class SortArray :public MyArray { public:SortArray(int leng) :MyArray(leng){cout << "SortArray類已創(chuàng)建" << endl;}~SortArray(){cout << "SortArray類已撤銷" << endl;}void sort(){int i, j, temp;for (i = 0; i < length; i++){for (j = 0; j < length - i - 1; j++){if (alist[j] > alist[j + 1]){temp = alist[j];alist[j] = alist[j + 1];alist[j + 1] = temp;}}}} }; MyArray::MyArray(int leng) {if (leng <= 0){cout << "error length";exit(1);}length = leng;alist = new int[length];if (alist == NULL){cout << "assign failure";exit(1);}cout << "MyArray類對象已創(chuàng)建" << endl; } MyArray::~MyArray() {delete[]alist;cout << "MyArray類對象已撤銷" << endl; } void MyArray::Display(string str) {int i;int* p = alist;cout << str << length << "個(gè)整數(shù)";for (i = 0; i < length; i++, p++){cout << *p << " ";}cout << endl; } void MyArray::Input() {cout << "請從鍵盤輸入" << length << "個(gè)整數(shù):";int i;int* p = alist;for (i = 0; i < length; i++, p++){cin >> *p;} } int main() {SortArray s(5);s.Input();s.Display("顯示已經(jīng)輸入的");s.sort();s.Display("顯示已經(jīng)排序的");return 0; }?添加的代碼為:
class SortArray :public MyArray { public:SortArray(int leng) :MyArray(leng){cout << "SortArray類已創(chuàng)建" << endl;}~SortArray(){cout << "SortArray類已撤銷" << endl;}void sort(){int i, j, temp;for (i = 0; i < length; i++){for (j = 0; j < length - i - 1; j++){if (alist[j] > alist[j + 1]){temp = alist[j];alist[j] = alist[j + 1];alist[j + 1] = temp;}}}} };首先在構(gòu)造函數(shù)中聲明派生類繼承基類的成員函數(shù),派生類中只有一個(gè)成員函數(shù),就是排序函數(shù),排序函數(shù)采用冒泡排序,將大的數(shù)向后交換,完成排序的功能。
運(yùn)行結(jié)果如下:
?
總結(jié)
以上是生活随笔為你收集整理的面向对象编程实验课随笔(承继下的构造函数和析构函数)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 理解锁相环的工作原理
- 下一篇: 简易单片机制作频率计