程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 淺談C++中的結構函數分類及挪用規矩

淺談C++中的結構函數分類及挪用規矩

編輯:關於C++

淺談C++中的結構函數分類及挪用規矩。本站提示廣大學習愛好者:(淺談C++中的結構函數分類及挪用規矩)文章只能為提供參考,不一定能成為您想要的結果。以下是淺談C++中的結構函數分類及挪用規矩正文


結構函數的分類
這裡簡略地將C++中的結構函數分一下類,直接看上面的代碼表達,解釋在正文中:

#include <iostream> 
using namespace std; 
 
class Text 
{ 
public: 
  Text() // 無參數結構函數 
  { 
    m_a = 0; 
    m_b = 0; 
    cout << "無參數結構函數" << endl; 
  } 
 
  Text(int a) // 有參數結構函數 
  { 
    m_a = a; 
    m_b = 0; 
    cout << "無參數結構函數" << endl; 
  } 
 
  Text(int a, int b) // 有參數結構函數,有三種挪用辦法 
  { 
    m_a = a; 
    m_b = b; 
    cout << "有參數結構函數" << endl; 
  } 
 
  // 賦值結構函數,也叫copy結構函數 
  Text(const Text& obj) 
  { 
    cout << "這也是結構函數" << endl; 
  } 
 
  ~Text(); 
 
private: 
  int m_a; 
  int m_b; 
}; 
 
 
 
int main() 
{ 
  // 1括號法 
  Text t1; // 挪用無參數結構函數 
 
  // 2等號法 
  Text t2 = (3, 4, 5, 6, 7); 
  // C++對等號停止了增強,c++編譯器主動的挪用結構函數 
 
  // 3直接挪用結構函數,手動挪用結構函數 
  Text t3 = Text(1, 2); // 這裡觸及到匿名對象 
  return 0; 
} 

結構函數挪用規矩研討
1)當類中沒有界說任何一個結構函數時,c++編譯器會供給默許無參結構函數和默許拷貝結構函數
2)當類中界說了拷貝結構函數時,c++編譯器不會供給無參數結構函數
這裡必定留意,當你只界說一個拷貝結構函數,在創立對象時是不克不及直接挪用無參數結構函數的。
3) 當類中界說了隨意率性的非拷貝結構函數(即:當類中供給了有參結構函數或無參結構函數),c++編譯器不會供給默許無參結構函數
當類中界說了一個多參數的結構函數,那末也是不存在無參數結構函數
4 )默許拷貝結構函數成員變量簡略賦值
總結:只需你寫了結構函數,那末你必需用。
也再次印證了拷貝結構函數也是結構函數,必定要留意這個易錯點。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved