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

C++中的作用域案例詳解

 更新時間:2024年02月09日 10:45:56   作者:周杰倫fans  
作用域規(guī)定了標(biāo)識符在代碼中的可見性和可訪問性,全局作用域中的標(biāo)識符可以在整個程序中使用,局部作用域中的標(biāo)識符只能在其所在的代碼塊中使用,而命名空間作用域提供了一種組織和封裝代碼的方式,以避免命名沖突,這篇文章主要介紹了C++中的作用域,需要的朋友可以參考下

在C++中,作用域是指程序中變量、函數(shù)和其他命名實體的可見性和可訪問性范圍。作用域規(guī)定了在代碼中的哪些位置可以引用或使用特定的標(biāo)識符。C++中有多種類型的作用域,包括全局作用域、局部作用域和命名空間作用域。

1.全局作用域:

全局作用域是在整個程序中都可見和可訪問的范圍。在全局作用域中聲明的變量和函數(shù)可以在程序的任何地方使用。全局作用域中的標(biāo)識符可以通過在其聲明之前使用::運算符來引用。

#include <iostream>
int globalVariable = 10;
void globalFunction()
{
    std::cout << "This is a global function." << std::endl;
}
int main()
{
    std::cout << globalVariable << std::endl;  // 輸出:10
    globalFunction();  // 輸出:"This is a global function."
    return 0;
}

2.局部作用域:

局部作用域是指在特定代碼塊(如函數(shù)、循環(huán)或條件語句內(nèi)部)中定義的變量的作用域。局部變量只能在其所在的代碼塊中訪問和使用。

#include <iostream>
void localFunction()
{
    int localVar = 20;  // 局部變量
    std::cout << localVar << std::endl;  // 輸出:20
}
int main()
{
    localFunction();
    // std::cout << localVar << std::endl;  // 錯誤!局部變量在此處不可見
    return 0;
}

3.命名空間作用域:

命名空間作用域是指在命名空間中定義的變量、函數(shù)和其他實體的作用域。命名空間提供了一種組織和封裝代碼的方式,以避免命名沖突,并將相關(guān)的實體放在一個邏輯單元中。

#include <iostream>
namespace MyNamespace
{
    int x = 30;
    void namespaceFunction()
    {
        std::cout << "This is a function in MyNamespace." << std::endl;
    }
}
int main()
{
    std::cout << MyNamespace::x << std::endl;  // 輸出:30
    MyNamespace::namespaceFunction();  // 輸出:"This is a function in MyNamespace."
    return 0;
}
#pragma once
#include<iostream>
using namespace std;
class Point {
public:
    void setX(int x); // 設(shè)置m_X的值
    int getX(); // 獲取m_X的值
    void setY(int y); // 設(shè)置m_Y的值
    int getY(); // 獲取m_Y的值
private:
    int m_X; // 點的x坐標(biāo)
    int m_Y; // 點的y坐標(biāo)
};

這部分代碼定義了一個名為 Point 的類,用于表示一個點的坐標(biāo)。它具有以下公有成員函數(shù):

  • void Point::setX(int x):在 Point 類的作用域內(nèi),用于設(shè)置點的 x 坐標(biāo)(m_X)的值。
  • int Point::getX():在 Point 類的作用域內(nèi),用于獲取點的 x 坐標(biāo)(m_X)的值。
  • void Point::setY(int y):在 Point 類的作用域內(nèi),用于設(shè)置點的 y 坐標(biāo)(m_Y)的值。
  • int Point::getY():在 Point 類的作用域內(nèi),用于獲取點的 y 坐標(biāo)(m_Y)的值。
  • 私有成員變量(數(shù)據(jù)成員)包括:
  • int Point::m_X:在 Point 類的作用域內(nèi),表示點的 x 坐標(biāo)。
  • int Point::m_Y:在 Point 類的作用域內(nèi),表示點的 y 坐標(biāo)。
void Point::setX(int x) {
    m_X = x; // 將傳入的x賦值給m_X
}
int Point::getX() {
    return m_X; // 返回m_X的值
}
void Point::setY(int y) {
    m_Y = y; // 將傳入的y賦值給m_Y
}
int Point::getY() {
    return m_Y; // 返回m_Y的值
}

這部分是 Point 類成員函數(shù)的實現(xiàn)。每個成員函數(shù)的定義都在類的作用域內(nèi)。實現(xiàn)部分包括:

  • void Point::setX(int x):在 Point 類的作用域內(nèi),將傳入的 x 值賦給 m_X,用于設(shè)置點的 x 坐標(biāo)。
  • int Point::getX():在 Point 類的作用域內(nèi),返回 m_X 的值,用于獲取點的 x 坐標(biāo)。
  • void Point::setY(int y):在 Point 類的作用域內(nèi),將傳入的 y 值賦給 m_Y,用于設(shè)置點的 y 坐標(biāo)。
  • int Point::getY():在 Point 類的作用域內(nèi),返回 m_Y 的值,用于獲取點的 y 坐標(biāo)。
  • 這樣,就可以在其他地方使用 Point 類,并通過調(diào)用成員函數(shù)來設(shè)置和獲取點的坐標(biāo)。
#include<iostream>
using namespace std;
#include "Point.h"
int main() {
    Point p; // 創(chuàng)建一個 Point 對象
    p.setX(5); // 調(diào)用成員函數(shù)設(shè)置 x 坐標(biāo)為 5
    p.setY(10); // 調(diào)用成員函數(shù)設(shè)置 y 坐標(biāo)為 10
    cout << "Point coordinates: (" << p.getX() << ", " << p.getY() << ")" << endl; // 打印點的坐標(biāo)
    return 0;
}
  • 在 main 函數(shù)中,首先我們包含了 頭文件和 Point.h 頭文件,然后使用 using namespace std; 來簡化對 std 命名空間中的標(biāo)識符的使用。
  • 在 main 函數(shù)的主體中,我們創(chuàng)建了一個 Point 對象 p。然后使用 p.setX(5) 調(diào)用成員函數(shù) setX,將 x 坐標(biāo)設(shè)置為 5。接著使用 p.setY(10) 調(diào)用成員函數(shù) setY,將 y 坐標(biāo)設(shè)置為 10。
  • 最后,我們使用 cout 對象打印點的坐標(biāo)。通過調(diào)用 p.getX() 和 p.getY() 獲取點的 x 和 y 坐標(biāo)值,并將其打印在屏幕上。

總結(jié):作用域規(guī)定了標(biāo)識符在代碼中的可見性和可訪問性。全局作用域中的標(biāo)識符可以在整個程序中使用,局部作用域中的標(biāo)識符只能在其所在的代碼塊中使用,而命名空間作用域提供了一種組織和封裝代碼的方式,以避免命名沖突。

到此這篇關(guān)于C++中的作用域的文章就介紹到這了,更多相關(guān)C++作用域內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何用矩形法(梯形法)求定積分

    如何用矩形法(梯形法)求定積分

    思路就是將積分區(qū)間劃分成n等份,然后將這n等份近似看成矩形(或梯形),然后對所有的矩形(或梯形)的面積進行求和
    2013-09-09
  • C++變位詞問題分析

    C++變位詞問題分析

    這篇文章主要介紹了C++變位詞問題分析,非常經(jīng)典的算法,對于進行C++下的算法設(shè)計有很大的啟發(fā)性,需要的朋友可以參考下
    2014-08-08
  • C字符串函數(shù)對應(yīng)的C++ string操作詳解

    C字符串函數(shù)對應(yīng)的C++ string操作詳解

    在本篇文章里小編給大家整理的是一篇關(guān)于C字符串函數(shù)對應(yīng)的C++ string操作知識點內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2020-01-01
  • 如何用C語言、Python實現(xiàn)棧及典型應(yīng)用

    如何用C語言、Python實現(xiàn)棧及典型應(yīng)用

    本文先通過實例分別介紹了如何用C語言、Python實現(xiàn)棧,后又介紹棧的典型應(yīng)用,對大家學(xué)習(xí)棧很有借鑒參考價值,下面一起來看看吧。
    2016-08-08
  • jquery ready函數(shù)深入分析

    jquery ready函數(shù)深入分析

    本文主要介紹jquery ready,這里整理了相關(guān)資料及相關(guān)示例代碼幫助大家學(xué)習(xí)參考,有興趣的小伙伴可以參考下
    2016-08-08
  • C++?OpenCV實戰(zhàn)之零部件的自動光學(xué)檢測

    C++?OpenCV實戰(zhàn)之零部件的自動光學(xué)檢測

    這篇文章主要為大家介紹一個C++?OpenCV的實戰(zhàn)——零部件的自動光學(xué)檢測,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-09-09
  • C++實現(xiàn)LeetCode(146.近最少使用頁面置換緩存器)

    C++實現(xiàn)LeetCode(146.近最少使用頁面置換緩存器)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(146.近最少使用頁面置換緩存器),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C++頭文件和cpp文件的原理分析

    C++頭文件和cpp文件的原理分析

    這篇文章主要介紹了C++頭文件和cpp文件的原理分析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • C語言實現(xiàn)簡單回聲服務(wù)器

    C語言實現(xiàn)簡單回聲服務(wù)器

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)簡單回聲服務(wù)器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C++交換指針實例

    C++交換指針實例

    這篇文章主要介紹了C++交換指針實例,針對C與C++交換指針的方法進行了較為詳細(xì)的對比分析,非常具有實用價值,需要的朋友可以參考下
    2014-10-10

最新評論

崇义县| 策勒县| 龙口市| 绥滨县| 永修县| 麻城市| 汨罗市| 定远县| 盘山县| 邮箱| 文水县| 潞西市| 巫溪县| 衢州市| 赤城县| 永州市| 安多县| 禹州市| 乐都县| 汉寿县| 前郭尔| 广饶县| 航空| 资溪县| 五常市| 中卫市| 那曲县| 彰化市| 巴东县| 班玛县| 故城县| 涡阳县| 武隆县| 剑川县| 正镶白旗| 大厂| 饶河县| 天台县| 灌云县| 饶平县| 盐池县|