12多載函數.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
12多載函數

12 多載函數 12.1 多載概論 12-2 12.1.1 多載一般函數 12-2 12.1.2 多載成員函數 12-3 12.1.3 多載建立者函數 12-5 12.2 多載運算符號 12-8 12.2.1 多載運算符號限制 12-9 12.2.2 運算符號函數 12-12 12.2.3 多載 運算符號 12-12 12.2.4 多載 運算符號 12-13 12.2.5 多載雙運算元符號 12-16 12.2.6 多載單運算元符號 12-20 12.2.7 多載前置運算符號 12-23 12.2.8 多載後置運算符號 12-23 12.3 轉換型態 12-26 12.3.1 基本型態轉基本型態 12-26 12.3.2 基本型態轉類別型態 12-27 12.3.3 類別型態轉基本型態 12-29 12.3.4 類別型態轉類別型態 12-31 12.1 多載概論 多載(overloading)就是重複定義多個相同名稱的函數,但這些函數的功能不完全相同。所以多載函數的情況包括:(1)接收不同數量的參數,(2)傳遞不同型態的參數,(3)傳回不同型態的參數。 12.1.1 多載一般函數 範例 int area(int length, int width); //第一個area { return length * width; } double area(int radius) //第二個area函數 { return 3.1415926 * pow(radius, 2); } int main() { int rectangleArea = area(3, 5); //呼叫第一個area函數 double circleArea = area(5); //呼叫第二個area函數 return 0; //正常結束程式 } 12.1.2 多載成員函數 多載函數的情況包括:(1)接收不同數量的參數,(2)傳遞不同型態的參數,(3)傳回不同型態的參數。 範例一 class Cuboid //宣告長方體類別 { private: int length; //Cuboid的資料成員1 int width; //Cuboid的資料成員2 int height; //Cuboid的資料成員3 12.1.2 多載成員函數 (續) 範例續 public: int area() { //錯誤,Multiple declaration return length * width; } int area() { //錯誤,Multiple declaration return 2 * (length * width + width * height + height * length); } }; 12.1.2 多載成員函數 (續) 範例二 class Cuboid //宣告長方體類別 { int length; //Cuboid的資料成員1 int width; //Cuboid的資料成員2 int height; //Cuboid的資料成員3 public: void setSide(int l, int w) //設定長方形邊長 { length = l; width = w; height = 0; } 12.1.2 多載成員函數 (續) 範例續 void setSide(int l, int w, int h) //設定長方體邊長 { length = l; width = w; height = h; } int area() //計算長方體表面積函數 { return 2 * (length * width + width * height + height * length); } }; 12.1.3 多載建立者函數 在類別中可以多載(overload)建立者函數,也就是定義多個建立者函數,每個建立者函數可含有不同個數的參數。 範例 class Timer { int seconds; public: Timer() { //定義無參數建立者 seconds = 0;} Timer(int s) { //定義整數參數建立者 seconds = s;} 12.1.3 多載建立者函數 (續) 範例續 Timer(char *t) { //定義指標參數建立者 seconds =

文档评论(0)

75986597 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档