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

歡迎訪問 生活随笔!

生活随笔

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

c/c++

C++学习(四)

發布時間:2023/12/18 c/c++ 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++学习(四) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、拷貝構造函數和拷貝賦值運算符
1.拷貝構造:用一個已有的對象,構造和它同類型的副本對象——克隆。
2.形如
class X {
? X (const X& that) { ... }
};
的構造函數成為拷貝構造函數。如果一個類沒有定義拷貝構造函數,系統會提供一個缺省拷貝構造函數。缺省拷貝構造函數對于基本類型的成員變量,按字節復制,對于類類型的成員變量,調用相應類型的拷貝構造函數。
3.在某些情況就下,缺省拷貝構造函數只能實現淺拷貝,如果需要獲得深拷貝的復制效果,就需要自己定義拷貝構造函數。
4.形如
class X {
? X& operator= (const X& that) {
??? ...
? }
};
的成員函數稱為拷貝賦值運算符函數。如果一個類沒有定義拷貝賦值運算符函數,系統會提供一個缺省拷貝賦值運算符函數。缺省拷貝賦值運算符函數對于基本類型的成員變量,按字節復制,對于類類型的成員變量,調用相應類型的拷貝賦值運算符函數。
5.在某些情況就下,缺省拷貝賦值運算符函數只能實現淺拷貝,如果需要獲得深拷貝的復制效果,就需要自己定義拷貝賦值運算符函數。
練習:實現一個簡化版的字符串類String支持:
1.用字符指針形式的字符串構造
2.拷貝構造和拷貝賦值
3.獲取字符指針形式字符串的成員函數,類似string::c_str
說明:不得使用std::string!
二、靜態成員
1.靜態成員變量和靜態成員函數是屬于類的而非屬于對象。
2.靜態成員變量,為多個對象所共享,只有一份實例,可以通過對象訪問也可以通過類訪問,必須在類的外部定義并初始化。靜態成員變量本質上與全局變量并沒有區別,只是多了類作用域的約束,和訪控屬性的限制。
class Account {
private:
? string m_name;
? double m_balance;
? static double m_rate;
};
3.靜態成員函數,沒有this指針,無法訪問非靜態成員。
4.單例模式
三、成員指針
Student s;
string* p = &s.m_name; // 不是
Student s2;
(一)成員變量指針
1.定義
成員變量類型 類名::*指針變量名;
string Student::*pname;
int Student::*page;
2.初始化/賦值
指針變量名 = &類名::成員變量名
pname = &Student::m_name;
page = &Student::m_age;
3.解引用
對象.*指針變量名
對象指針->*指針變量名
Student s, *p = &s;
s.*pname = "張飛";
cout << p->*page << endl;
(二)成員函數指針
1.定義
成員函數返回類型 (類名::*指針變量名) (參數表)
void (Student::*plearn) (const string&) const;
2.初始化/賦值
指針變量名 = &類名::成員函數名;
plearn = &Stduent::learn;
3.解引用
(對象.*指針變量名) (實參表);
(對象指針->*指針變量名) (實參表);
(s.*plearn) ("C++");
(p->*plearn) ("UNIX");
第三課? 操作符重載
復數:3+4i
Complex
c1 - (c2 + c3)
c1.sub (c2.add (c3))
一、操作符標記和操作符函數
1.雙目操作符:L#R
成員函數形式:L.operator# (R)
左調右參
全局函數形式:::operator# (L, R)
左一右二
2.單目操作符:#O/O#
成員函數形式:O.operator# ()
全局函數形式:::operator# (O)
3.三目操作符:不考慮
二、雙目操作符
1.+/-/*//
操作數在計算前后不變。
表達式的值是右值。

轉載于:https://www.cnblogs.com/fanghui/p/3323194.html

總結

以上是生活随笔為你收集整理的C++学习(四)的全部內容,希望文章能夠幫你解決所遇到的問題。

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