C++之全局函數和成員函數的轉換

全局函數和成員函數

  • 把全局函數轉化成成員函數,通過this指針隱藏左操作數
 Test add(Test &t1, Test &t2)===》Test add(Test &t2)
  • 把成員函數轉換成全局函數,多了一個參數
void printAB()===》void printAB(Test *pthis)
  • 函數返回元素和返回引用
Test& add(Test &t2) //*this //函數返回引用{this->a = this->a + t2.getA();this->b = this->b + t2.getB();return *this; //*操作讓this指針回到元素狀態} Test add2(Test &t2) //*this //函數返回元素{//t3是局部變量Test t3(this->a+t2.getA(), this->b + t2.getB()) ;return t3;}

重要函數展示:

#include <stdio.h>class Test1_1
{
public:Test1_1 (int a){this->a = a;}void print(){printf ("a = %d\n", a);}// 將全局函數改成內部函數可以通過 this 隱藏左操作數int add(Test1_1 &b)  //===> add(Test1_1 *const this, Test1_1 &b){return this->a+b.GetA();}int GetA(){return a;}
private:int a;
};int GetA(Test1_1 &obj)
{return obj.GetA();
}// 全局函數
int add(Test1_1 &a, Test1_1 &b)
{return a.GetA()+b.GetA();
}int main1_1()
{Test1_1 a(10), b(20);// int c = add(a, b);int c = a.add(b);    // a+b        b.add(a) ===>  b+aprintf ("c = %d\n",c);return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/448381.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/448381.shtml
英文地址,請注明出處:http://en.pswp.cn/news/448381.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

HDU 3916 Sequence Decomposition 【貪心】

這道題目的題意就是使用題目中所給的Gate 函數&#xff0c;模擬出輸入的結果 當然我們分析的時候可以倒著來&#xff0c;就是拿輸入去減 每次Gate 函數都會有一個有效范圍 這道題目求的就是&#xff0c;找出一種模擬方法&#xff0c;使得最小的有效范圍最大化。 是一道【貪心】…

爆胎

定義 即輪胎爆裂。車輛的缺氣(輪胎胎壓低于標準胎壓)行駛時&#xff0c;隨著胎壓的下降&#xff0c;輪胎與地面的摩擦成倍增加&#xff0c;胎溫急劇升高&#xff0c;輪胎變軟&#xff0c;強度急劇下降。這種情況下&#xff0c;如果車輛高速行駛&#xff0c;就可能導致爆胎。…

不要再問我跨域的問題了

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 跨域這兩個字就像一塊狗皮膏藥一樣黏在每一個前端開發者身上&#xff0c;無論你在工作上或者面試中無可避免會遇到這個問題。為了應付面…

SSM集合

SSM集成 1. Spring和各個框架的整合 Spring目前是JavaWeb開發中最終的框架&#xff0c;提供一站式服務&#xff0c;可以其他各個框架整合集成 Spring整合方案 1.1. SSH ssh是早期的一種整合方案 Struts2 &#xff1a; Web層框架 Spring &#xff1a; 容器框架 Hibernate &#…

淺談 CSRF 攻擊方式

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 一.CSRF是什么&#xff1f; CSRF&#xff08;Cross-site request forgery&#xff09;&#xff0c;中文名稱&#xff1a;跨站請求偽造&a…

C++之運算符重載(上)

1、概念 所謂重載&#xff0c;就是重新賦予新的含義。函數重載就是對一個已有的函數賦予新的含義&#xff0c;使之實現新功能&#xff0c;因此&#xff0c;一個函數名就可以用來代表不同功能的函數&#xff0c;也就是”一名多用”。 運算符也可以重載。實際上&#xff0c;我們…

手剎

定義 考手剎的專業稱呼是輔助制動器&#xff0c;與制動器的原理不同&#xff0c;其是采用鋼絲拉線連接到后制動蹄上&#xff0c;以對車子進行制動。作用 用于平地斜坡停車時制動&#xff0c;防止車子在無人狀態下自動滑跑&#xff0c;逼免發生交通事故。工作原理 其原…

關于[super dealloc]

銷毀一個對象時&#xff0c;需要重寫系統的dealloc方法來釋放當前類所擁有的對象&#xff0c;在dealloc方法中需要先釋放當前類中所有的對象&#xff0c;然后再調用[super dealloc]釋放父類中所擁有的對象。如先調用[super dealloc]將釋放掉父類中所擁有的對象&#xff0c;當前…

C++之運算符重載(下)

4.提高 1.運算符重載機制 編譯器實現運算符重載實際上就是通過函數重載實現的&#xff0c;可分為全局函數方式&#xff0c;也可分為成員函數方式進行重載&#xff0c;并沒有改變原操作符的屬性和語義。只是針對某個特定類定義一種新的數據類型操作。 2.重載賦值運算符 賦值…

Cookie / Session 的機制與安全

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 Cookie和Session是為了在無狀態的HTTP協議之上維護會話狀態&#xff0c;使得服務器可以知道當前是和哪個客戶在打交道。本文來詳細討論C…

手動擋

定義 手動擋&#xff0c;即用手撥動變速桿才能改變變速器內的齒輪嚙合置&#xff0c;改變傳動比&#xff0c;從而達到變速的目的。作用 一方面提供了手動的樂趣 另外一方面就是通過手動自主控制轉速&#xff0c;還可以遲延或提前換檔。駕駛技巧 市區內應直視前方五…

Servlet快速入門及運行流程

一、Servlet快速入門 1.創建一個web工程 2.在JavaResource中src下創建一個包名稱為com.myxq.servlet 3.在創建的servlet包當中創建一個class文件起名為FirstServlet 4.進入該class實現一個Servlet接口&#xff0c;實現它未實現的方法 重點看service方法在該方法當中寫入一句話進…

C++之多繼承

1.基礎知識 1.1 類之間的關系 has-A&#xff0c;uses-A 和 is-A has-A 包含關系&#xff0c;用以描述一個類由多個“部件類”構成。實現has-A關系用類成員表示&#xff0c;即一個類中的數據成員是另一種已經定義的類。 常和構造函數初始化列表一起使用 uses-A 一個類部分地…

自動擋

定義 所謂自動擋&#xff0c;就是不用駕駛者去手動換檔&#xff0c;車輛會根據行駛的速度和交通情況自動選擇合適的檔位行駛。作用 能根據路面狀況自動變速&#xff0c;使駕駛者可以全神貫地注視路面交通而不會被換檔搞得手忙腳亂。工作原理 自動變速器&#xff0c…

聊一聊 cookie

我們看到的 cookie 前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 我自己創建了一個網站&#xff0c;網址為http://ppsc.sankuai.com。在這個網頁中我設置了幾個cookie&#xff1a;JS…

跨域資源共享 CORS 詳解

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 CORS是一個W3C標準&#xff0c;全稱是"跨域資源共享"&#xff08;Cross-origin resource sharing&#xff09;。 它允許瀏覽…

油門

定義 油門是內燃機上控制燃料供量的裝置。作用 是汽車發動機與摩托車油箱之間的閥門&#xff0c;控制汽油的量。操作注意 1.空車起步勿用大油門&#xff0c;以小油門為宜&#xff0c;負荷起步則以中油門為宜。 2.啟動時將油門放在合適位&#xff0c;使機件不易磨損。…

C++之泛型編程(模板)

1.模板綜述 背景 有時候許多函數或子程序的邏輯結構是一樣的&#xff0c;只是要處理的數據類型不一樣有時候多個類具有相同邏輯的成員函數和成員變量&#xff0c;只是成員變量的數據類型以及成員函數的參數類型不一樣模板就是解決數據類型不一致造成代碼冗余的一種機制&#xf…

Base64轉PDF、PDF轉IMG(使用pdfbox插件)

--添加依賴 <!-- https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox --><dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>2.0.12</version></dependency&…

const的用法,特別是用在函數后面

原文出處&#xff1a;http://blog.csdn.net/zcf1002797280/article/details/7816977