91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

對下標運算符[]和函數調用運算符()的重載

發布時間:2020-07-11 00:03:46 來源:網絡 閱讀:345 作者:神跡難覓 欄目:編程語言

一.對下標運算符[]的重載:

 重載的格式:返回類型 類名 operator [](參數);

  

  1. #include<iostream>

  2. using namespace std;

  3. class A

  4. {

  5. public:

  6. A(int n);

  7. ~A();

  8. int & operator [](int n);//返回類型為int & 引用類型


  9. private:

  10. int *p;

  11. int size;

  12. };

  13. int & A::operator[](int n){

  14. return p[n];//返回p[n]

  15. }

  16. A::A(int n)

  17. {

  18. p = new int[n];

  19. }


  20. A::~A()

  21. {

  22. delete[]p;

  23. }

  24. int main(){

  25. A a(5);

  26. a[3] = 4;//等價于a.operator[](3)=4,相當于4賦值給了p[3];

  27. cout << "a[3]=" << a[3] << endl;

  28. cin.get();

  29. return 0;

  30. }

二.對()運算符的重載

#include<iostream>

using namespace std;

class A{

public:

float operator()(double a,double b);

};

float A::operator ()(double a,double b){

return a*b;

}

int main(){

A f;

float a=f(10.0,1.23);//默認double類型

cout<<a<<endl;

return 0;

}

三.對流輸出運算符‘<<’和流輸出‘>>’的重載

#include<iostream>

using namespace std;

class A

{

public:

A(int n);

~A();

int& operator[](int);//這里用返回值類型為引用類型,完全是效率問題

friend ostream& operator <<(ostream &otput, A& a);//對<<的重載最好用友員函數

friend istream& operator >>(istream &input, A& b);

private:

int *p;

int size;

};

int& A::operator[](int a){

if (a<size&&a>=0)

return p[a];

cout << "out of size" << endl;

exit(0);

}

ostream& operator <<(ostream &otput, A& a){

for (int i = 0; i < a.size; i++)

otput << a.p[i]<<' ';

cout << endl;

return otput;

}

istream& operator >>(istream &input, A& b){

for (int i = 0; i < b.size; i++){

input >> b.p[i];

}

return input;//這里返回值為istream 類型變量是規定。

}


A::A(int n)

{

p = new int[n];

size = n;

}


A::~A()

{

delete[]p;

size = 0;

}

int main(){

A a(5);

cout << "input the elements of A a" << endl;

cin >> a;

//cout << "a[5]" << a[5]<<endl;//直接退出。

cout << "a[3]=" << a[3] << endl;

cout << a<<endl;

system("pause");

return 0;

}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

迁安市| 阜康市| 陇川县| 增城市| 陇西县| 漳州市| 泰顺县| 荆州市| 通河县| 永济市| 陇西县| 甘孜县| 景德镇市| 浦城县| 讷河市| 宜良县| 上饶市| 曲松县| 东至县| 德阳市| 安龙县| 彭阳县| 探索| 容城县| 根河市| 高邮市| 临朐县| 竹北市| 融水| 资阳市| 淮阳县| 宁乡县| 遂昌县| 双江| 宜阳县| 泉州市| 金昌市| 临泽县| 郯城县| 唐山市| 射洪县|