日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

c 语言函数公有私有区分,C++私有成员函数

發布時間:2024/1/8 c/c++ 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c 语言函数公有私有区分,C++私有成员函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

到目前為止,我們所看到的所有類成員函數都是公共函數,這意味著它們可以通過類外部的程序代碼調用。但是,類也經常需要一些函數來進行內部處理,這樣的函數不應該由類外的代碼調用,它們應該被聲明為私有。

下面的程序顯示了具有私有函數的類的示例。SimpleStat 類被設計用于從發送給它的一組非負整數中查找和報告信息,如平均值和最大數字。但是,一旦某個數字已經被接收并被添加到累計匯總,那么它將不被保留,所以該類不能等以后再確定哪個數字是最大的,它必須通過檢查其讀取的每個數字來查看它是否大于之前讀取的任何數字。isNewLargest 私有函數正是執行此操作的。

#include

using namespace std;

class SimpleStat

{

private:

int largest; // The largest number received so far

int sum; // The sum of the numbers received

int count; // How many numbers have been received

bool isNewLargest(int); // This is a private class function

public:

SimpleStat(); // Default constructor

bool addNumber(int);

double getAverage();

int getLargest()

{

return largest;

}

int getCount()

{

return count;

}

};

SimpleStat::SimpleStat()

{

largest = sum = count = 0;

}

bool SimpleStat::addNumber(int num)

{

bool goodNum = true;

if (num >= 0) // If num is valid

{

sum += num; // Add it to the sum

count++; // Count it

if(isNewLargest(num)) // Find out if it is

largest = num; // the new largest

}

else //num is invalid

goodNum = false;

return goodNum;

}

bool SimpleStat::isNewLargest(int num)

{

if (num > largest)

return true;

else

return false;

}

double SimpleStat::getAverage()

{

if (count > 0)

return static_cast(sum) / count;

else

return 0;

}

//Client Program

int main()

{

int num;

SimpleStat statHelper;

cin >> num;

while (num >= 0)

{

statHelper.addNumber(num);

cin >> num;

}

cout << "\nYou entered "<< statHelper.getCount() << " values. \n";

cout << "The largest value was " << statHelper.getLargest () << endl;

cout << "The average value was " << statHelper.getAverage () << endl;

return 0;

}

程序輸出結果:

7 6 8 8 9 7 7 -1

You entered 7 values.

The largest value was 9

The average value was 7.42857

程序中,私有函數 isNewLargest 的編寫目的是創建一個更模塊化的類,使代碼更易懂。雖然程序沒有這個函數也可以正常編寫完成,但是,在那種情況下,addNumber 函數本身將不得不處理比較新值與 largest 的額外工作。

總結

以上是生活随笔為你收集整理的c 语言函数公有私有区分,C++私有成员函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。