深入C 的運算子過載

2022-06-21 10:48:12 字數 1338 閱讀 1794

對於簡單的運算子,可以參考之前的博文。之後會有一篇關於從等號運算子過載的角度研究深淺拷貝的博文。

這裡是講:逗號,取成員運算子,輸入輸出運算子,下標運算子,括號,new和delete的過載。

逗號運算子過載需要乙個引數,並且返回自身類。逗號運算子在複製操作中比較常見,下面就是以賦值操作為例的逗號運算子過載。

#include#includeusing namespace std;

class tem;

tem::tem(int xx=0)

tem tem::operator , (tem t)

}; int main()

friend ostream& operator <<(ostream &stream,const date &date)

}; int main()

下標運算子只能被過載為類的非靜態成員函式,不能過載為友元函式和普通函式。

下標運算子只能有乙個引數,多和陣列有關,返回引用型別可以檢視和修改陣列元素。

#include#includeusing namespace std;

const int len = 3;

class tem{

private:

int a[len];

public:

tem(){

for (int i=0;i

括號運算子只能被過載為類的非靜態成員函式。並且引數個數和返回型別沒有限制

所以我們可以實現很多指令碼語言中或者string庫裡面的切片操作。

#include#includeusing namespace std;

const int len = 10;

class tem{

private:

int a[len];

public:

tem(){

for (int i=0;i注意new和delete過載的時候引數的形式和返回型別即可。

#include#includeusing namespace std;

const int len = 10;

class tem{

private:

int a[len];

public:

tem(){

for (int i=0;i

也可以致信進行交流 : [email protected]

深入C 的運算子過載

對於簡單的運算子,可以參考之前的博文。之後會有一篇關於從等號運算子過載的角度研究深淺拷貝的博文。這裡是講 逗號,取成員運算子,輸入輸出運算子,下標運算子,括號,new和delete的過載。逗號運算子過載需要乙個引數,並且返回自身類。逗號運算子在複製操作中比較常見,下面就是以賦值操作為例的逗號運算子過...

深入C 的運算子過載

對於簡單的運算子,可以參考之前的博文。之後會有一篇關於從等號運算子過載的角度研究深淺拷貝的博文。逗號運算子過載需要乙個引數,並且返回自身類。逗號運算子在複製操作中比較常見,下面就是以賦值操作為例的逗號運算子過載。include includeusing namespace std class tem...

C 運算子過載 過載特殊運算子

賦值運算子用於同類物件間的相互賦值。賦值運算子只能被過載為類的非靜態成員函式,不能過載為友元函式和普通函式。對於使用者自定義的類而言,如果沒有過載賦值運算子,那麼c 編譯器會為該類提供乙個預設的過載賦值運算子成員函式。預設賦值運算子的工作方式是按位對拷,將等到右邊物件的非靜態成員拷貝給等號左邊的物件...