如何詳細理解運算元過載

發布 科技 2024-07-23
11個回答
  1. 匿名使用者2024-01-31

    這是關於在類上使用某些運算子,以您自己定義的方式執行此操作。

    但是,一些編譯器從左到右計算一些內建型別(int、float 等)運算子的運算元,但自定義型別(例如)的操作順序相反。

    #include

    int foo(){

    static int i;

    i++;return i;

    int main(){

    std::cout<;輸出通常為 12,但有很多編譯器從右到左計算自定義型別,因此輸出 21

  2. 匿名使用者2024-01-30

    這是關於將操作員轉移到其他目的。

  3. 匿名使用者2024-01-29

    例如,如果要計算 1*2*3*4*5*。有數以萬計的 6000 個結果。

    int 絕對行不通,所以建立類 longlongLongint 並過載 * 和 <<

    之後,在 main 函式中,它類似於 int 型別的呼叫。

    簡單地說,如果不構造乙個新類,你就不需要這個,你需要在構造乙個新類後過載原始符號而不定義它。

  4. 匿名使用者2024-01-28

    其實很簡單,現有的運算元不能滿足你的需求,你想搭建自己想要的運算元,所以就存在運算元過載。

  5. 匿名使用者2024-01-27

    答:C過載運算元的規則如下:C++不允許使用者定義新的操作塵土畝字元,只能過載現有的C++運算子;C++中只有5個運算子不能過載; 過載不會改變操作員的數量; 過載不能改變運算元的優先順序和繫結; 過載運算子的函式不能有預設引數; 過載運算子 Paison 必須與 Newit 的使用者自定義型別物件一起使用,其中至少乙個應該是類物件,即所有引數都不允許是 C++ 標準型別。

    因此,這個問題的答案是c。

  6. 匿名使用者2024-01-26

    答]:過載運算元的規則如下:C++不允許使用者自己定義新的運算元,只能過載已有的C++運算元;C++中只有5個運算子不能過載; 過載不能改變喊叫變數運算元的物件數; 過載不能改變運算元的優先順序和繫結; 過載運算子的函式不能有預設引數; 過載運算子必須與使用者定義的自定義型別物件一起使用,其中至少乙個應該是類物件,即 wide 不得允許所有引數都是標準型別 C++。

    因此,這個問題的答案是 A。

  7. 匿名使用者2024-01-25

    答案:B

    過載運算子的規則如下:C++不允許使用者自行定義新的運算子,只有現有的C++運算子可以重新剪下; 只有 5 個運算子,C++不能摺疊褲子; 過載不會改變操作員的數量; 過載不能改變運算元的優先順序和繫結; 過載運算子的函式不能有預設引數; 過載運算子必須與清除中使用者定義的自定義型別的物件一起使用,並且其中至少乙個應該是類物件,即所有引數都不允許在 C++ 中為標準型別。 所以答案是b。

  8. 匿名使用者2024-01-24

    答:當運算元 a 作為成員函式過載時,會省略乙個引數,如果沒有引數,則表示它是一元運算元。一元運算子既可以作為成員函式過載,也可以作為非成員函式過載。

    如果二進位運算子用作非成員函式,則參數列中必須有兩個引數。 C++ 有 5 個不能過載的運算子,它們是:(成員訪問運算子)、*成員指標訪問運算子)、:

    domain operator)、sizeof(length 運算子)和 ?:( 芹菜耳語操作員)。 因此,這個問題的答案是 A。

  9. 匿名使用者2024-01-23

    1. 過載後,運算子必須至少有乙個使用者定義型別的運算元。

    2.不能違反運算子的句法規則,告訴小櫻用“+”來計算兩個物件之間的差值。

    3.你不能定義乙個新的運算子,你必須使用原來的運算子。

    4.有些運算子可以在不匹配年份的情況下過載,但大多數算術運算子和邏輯運算子都可以過載。 平衡分支。

  10. 匿名使用者2024-01-22

    意思是取位址,在乙個函式中,如果取輸入引數的位址,就意味著可以通過函式改變原來的變數,比如可以寫swap函式。

    int swap(int &x, int &y):如果我們去掉 fetch 位址,我們發現即使執行兩個變數,swap 也不會改變;

    當你有乙個引數時,程式會認為你要改變內容,如果你傳入乙個常量(比如常量或數字或字元),系統會認為你想改變乙個常量的值,就會報錯。 只需刪除它即可。

    如果出於速度和記憶體原因需要使用它,並且不想更改內容,只需新增乙個 st,例如,您可以編寫此內容。

  11. 匿名使用者2024-01-21

    例如,有乙個類 a 具有成員變數 int data

    現在有乙個 x、y;

    如果要執行 x+y 運算(即新增資料值),則可以編寫以下三個過載運算子:

    1.普通功能。

    類 A 建構函式。

    int data;

    a operator+(const a& a1,const a& a2)

    2.好友元素功能。

    類 A 建構函式。

    private: int data;請注意,此成員變為私有。

    friend a operator+(const a& a1,const a& a2);

    a operator+(const a& a1,const a& a2)

    3. 成員函式(最常見)。

    類 A 建構函式。

    private: int data;

    public:

    a operator+(const a& a2) const};

相關回答
8個回答2024-07-23

輸出 a、b、c 和 d 的值,你會發現它們依次是 4、8、9 和 1。 為什麼會這樣? >>>More

13個回答2024-07-23

具體用法請參考:

來自 Sloth Academy - 免費的資料知識學習平台。 >>>More

22個回答2024-07-23

int count=0;

count++;自加法的結果被賦值給 count,所以它是 count 的值變化,你輸出 count++ >>>More

20個回答2024-07-23

1. |它是邏輯運算中的“或”,邏輯關係為:true||False = 真 True ||True = 真 False |True = 真 False |False = 假。 >>>More

11個回答2024-07-23

前兩個程式是 ++i 和 i++ 之間的區別。

i。就是將i加一,然後進行運算,如i = 0,j = 0; j = ++i;最後 i = 1;j = 1;因為 i 加 1 先執行,j 在執行中賦值; >>>More