最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++中main函數(shù)怎樣調(diào)用類內(nèi)函數(shù)

 更新時間:2023年08月02日 09:42:20   作者:木木子v  
這篇文章主要介紹了C++中main函數(shù)怎樣調(diào)用類內(nèi)函數(shù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

C++中main函數(shù)調(diào)用類內(nèi)函數(shù)

以力扣209題為例

#include <iostream>
#include<vector>
using namespace std;
class minimum_size_subarray_sum
{
public:
? ? static int minSubArrayLen(int target, vector<int> &nums)
? ? {
? ? ? ? int i = 0; ?
? ? ? ? int result = INT32_MAX; ??
? ? ? ? int sum = 0; ?
? ? ? ? int subLength = 0; ?
? ? ? ? for(int j = 0; j < nums.size(); j++) ? ? ?
? ? ? ? {
? ? ? ? ? ? sum = sum + nums[j];
? ? ? ? ? ? while(sum >= target)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? subLength = j - i + 1; ??
? ? ? ? ? ? ? ? result = result < subLength ? result : subLength;?
? ? ? ? ? ? ? ? sum = sum - nums[i]; ??
? ? ? ? ? ? ? ? i++;
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? return result == INT32_MAX ? 0 : result;
? ? }
};
int main()
{
? ? vector<int> nums;
? ? nums.push_back(2);
? ? nums.push_back(3);
? ? nums.push_back(1);
? ? nums.push_back(2);
? ? nums.push_back(3);
? ? nums.push_back(4);
? ? int target = 7;
? ? int result = minimum_size_subarray_sum::minSubArrayLen(target, nums);
? ? cout << result << endl;
? ? return 0;
}

將類內(nèi)函數(shù)設(shè)置為靜態(tài)static,就可以直接調(diào)用了,另外,在調(diào)用時要加上類名。

另外,補充:在C++中,“::”表示作用域,::前面是類名,后面是該類的成員名稱,C++為避免不同的類有名稱相同的成員而采用作用域的方式進行區(qū)分。

C++ main函數(shù)的調(diào)用與被調(diào)用

main函數(shù)能調(diào)用自身嗎?

其他函數(shù)能調(diào)用main函數(shù)么?

下面先看一段有意思的程序,一個簡潔有趣的打印菱形的程序。

int line = 1;  
int main()  
{  
    printf("%*s\n",7-(line>4?line-4:4-line),  
        "*******"+2*(line>4?line-4:4-line));  
    if(++line !=8)  
        main();  
    return 0;  
}  

效果圖如下:

首先說一下”%*s”的用法,即*是用一個int參數(shù)來代替,比如:

printf(“%*s\n”, 5, “def”);就相當于printf(“%5s\n”, “def”);指定了字符串輸出的寬度。這個用法平時見得不多,可以了解下。

另外:有人對這一行“*******”+2*(line>4? line-4:4-line)感到疑惑,其實認真看一下,就是一個字符串指針加上一個int整數(shù),也就是指針的平移了。比如line=1第一行時,2*(line>4? line-4:4-line)即為6,也就是7個星號的字符串指針平移6個,所以輸出一個星號了。最后這個程序用到了main函數(shù)的遞歸調(diào)用,注意一定要寫上退出條件,否則就無限循環(huán)了。

這里分享下*在scanf中的作用是跳過...

例如:

scanf("%*d %*d %d",&n);
printf("%d",n);

這樣當輸入 1 2 3的時候,只會存儲n,正常打印3

再啰嗦一下*在printf("%*d",width,n);這樣因為是*d 的順序,所以width實際表達的是 n的輸出寬度,n才是要輸出的內(nèi)容。

例如:

int n=3;
scanf("%d",width);
printf("%*d",width,n);

下面看一下其他函數(shù)調(diào)用main的例子,打?。崭瘢?/p>

int line = 1;  
int func();  
int main()  
{  
    printf("%d ",line);  
    line++;  
    if(line<=9)  
        main();  
    func();  
    return 0;  
};  
int func()  
{  
    if(line<=13)  
    {  
        line++;  
        main();  
    }  
    return 0;  
}  

運行結(jié)果如下:

事實證明main函數(shù)只是一個程序的入口,也相當于一個普通的函數(shù),也能被自身調(diào)用,也能被其他函數(shù)調(diào)用。

這和一般的函數(shù)之間互相調(diào)用的概念是一樣的。不過需要注意的是,main函數(shù)不管是自身的調(diào)用還是被其他函數(shù)調(diào)用,都要設(shè)置函數(shù)終止的條件,這個遞歸函數(shù)有點相似,不然就會陷入死循環(huán)。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++二分查找(折半查找)算法實例詳解

    C++二分查找(折半查找)算法實例詳解

    這篇文章主要介紹了C++二分查找(折半查找)算法,結(jié)合實例形式詳細分析了二分查找算法的原理、思想、實現(xiàn)方法與相關(guān)操作技巧,需要的朋友可以參考下
    2017-05-05
  • 深入解析C++編程中線程池的使用

    深入解析C++編程中線程池的使用

    這篇文章主要介紹了深入解析C++編程中線程池的使用,包括線程池的封裝實現(xiàn)等內(nèi)容,需要的朋友可以參考下
    2015-11-11
  • C語言實題講解快速掌握單鏈表上

    C語言實題講解快速掌握單鏈表上

    單鏈表是后面要學的雙鏈表以及循環(huán)鏈表的基礎(chǔ),要想繼續(xù)深入了解數(shù)據(jù)結(jié)構(gòu)以及C語言,我們就要奠定好這塊基石!接下來就和我一起學習吧
    2022-04-04
  • 詳解Matlab中自帶的Java操作合集

    詳解Matlab中自帶的Java操作合集

    其實Matlab中也有一些自帶的Java操作,例如:獲取鼠標在全屏位置、獲取當前剪切板內(nèi)容、獲取鼠標處像素顏色等,本文總結(jié)了七個這樣的操作,感興趣的可以了解一下
    2022-03-03
  • C語言實現(xiàn)打印數(shù)字金字塔

    C語言實現(xiàn)打印數(shù)字金字塔

    這篇文章主要介紹了C語言實現(xiàn)打印數(shù)字金字塔方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C++廣播通信實例

    C++廣播通信實例

    這篇文章主要介紹了C++實現(xiàn)廣播通信的方法,實例講述了C++ socket廣播通信的原理與實現(xiàn)方法,需要的朋友可以參考下
    2014-10-10
  • wxWidgets實現(xiàn)無標題欄窗口拖動效果

    wxWidgets實現(xiàn)無標題欄窗口拖動效果

    這篇文章主要為大家詳細介紹了wxWidgets實現(xiàn)無標題欄窗口拖動效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • 基于Matlab實現(xiàn)人工神經(jīng)網(wǎng)絡(luò)(ANN)回歸的示例詳解

    基于Matlab實現(xiàn)人工神經(jīng)網(wǎng)絡(luò)(ANN)回歸的示例詳解

    這篇文章主要為大家詳細介紹了Matlab實現(xiàn)人工神經(jīng)網(wǎng)絡(luò)(ANN)回歸的相關(guān)資料,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-02-02
  • C語言深入刨析數(shù)據(jù)結(jié)構(gòu)之棧與鏈棧的設(shè)計與應(yīng)用

    C語言深入刨析數(shù)據(jù)結(jié)構(gòu)之棧與鏈棧的設(shè)計與應(yīng)用

    棧是限定僅在表尾進行插入或刪除操作的線性表,表尾稱為棧頂(top),表頭稱為棧底(bottom)。棧的最主要特點就是“先進后出”(FILO),或“后進先出”(LIFO)。用鏈式存儲結(jié)構(gòu)表示的棧稱為“鏈?!保湕?yīng)于鏈表
    2022-05-05
  • c++ chrono 獲取當前時間的實現(xiàn)代碼

    c++ chrono 獲取當前時間的實現(xiàn)代碼

    這篇文章主要介紹了c++ chrono 獲取當前時間的實現(xiàn)代碼,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07

最新評論

卢湾区| 福海县| 榆中县| 太仓市| 甘孜县| 宝山区| 门头沟区| 东安县| 同德县| 客服| 刚察县| 高邮市| 宾阳县| 西昌市| 广饶县| 米林县| 辰溪县| 万源市| 正安县| 昂仁县| 兰考县| 兴城市| 神农架林区| 龙游县| 麻栗坡县| 平舆县| 都兰县| 阳泉市| 辽宁省| 信阳市| 建德市| 沾益县| 昭觉县| 随州市| 讷河市| 成安县| 茌平县| 定日县| 台州市| 民勤县| 红桥区|