欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

1.全局作用域:

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

#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)或條件語(yǔ)句內(nèi)部)中定義的變量的作用域。局部變量只能在其所在的代碼塊中訪問和使用。

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

3.命名空間作用域:

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

#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; // 點(diǎn)的x坐標(biāo)
    int m_Y; // 點(diǎn)的y坐標(biāo)
};

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

  • void Point::setX(int x):在 Point 類的作用域內(nèi),用于設(shè)置點(diǎn)的 x 坐標(biāo)(m_X)的值。
  • int Point::getX():在 Point 類的作用域內(nèi),用于獲取點(diǎn)的 x 坐標(biāo)(m_X)的值。
  • void Point::setY(int y):在 Point 類的作用域內(nèi),用于設(shè)置點(diǎn)的 y 坐標(biāo)(m_Y)的值。
  • int Point::getY():在 Point 類的作用域內(nèi),用于獲取點(diǎn)的 y 坐標(biāo)(m_Y)的值。
  • 私有成員變量(數(shù)據(jù)成員)包括:
  • int Point::m_X:在 Point 類的作用域內(nèi),表示點(diǎn)的 x 坐標(biāo)。
  • int Point::m_Y:在 Point 類的作用域內(nèi),表示點(diǎn)的 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ù)的實(shí)現(xiàn)。每個(gè)成員函數(shù)的定義都在類的作用域內(nèi)。實(shí)現(xiàn)部分包括:

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

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

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

相關(guān)文章

  • C++讀寫Excel的實(shí)現(xiàn)方法詳解

    C++讀寫Excel的實(shí)現(xiàn)方法詳解

    本篇文章是對(duì)C++讀寫Excel的實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++報(bào)錯(cuò):Id?returned?1exit?status的解決辦法

    C++報(bào)錯(cuò):Id?returned?1exit?status的解決辦法

    最近剛學(xué)c語(yǔ)言,不止一次遇到了同一種報(bào)錯(cuò),經(jīng)過總結(jié)分享給大家,下面這篇文章主要給大家介紹了關(guān)于C++報(bào)錯(cuò):Id?returned?1exit?status的解決辦法,需要的朋友可以參考下
    2023-04-04
  • C++用一棵紅黑樹同時(shí)封裝出set與map的實(shí)現(xiàn)代碼

    C++用一棵紅黑樹同時(shí)封裝出set與map的實(shí)現(xiàn)代碼

    set中存儲(chǔ)的一般為鍵K即可,而map存儲(chǔ)的一般都是鍵值對(duì)KV,也就是說他們結(jié)構(gòu)是不同的,那么我們?nèi)绾尾拍苡靡活w紅黑樹同時(shí)封裝出set與map兩種容器呢,那么接下來(lái)我們具體地來(lái)研究下STL庫(kù)中是怎樣實(shí)現(xiàn)的,并且進(jìn)行模擬實(shí)現(xiàn),需要的朋友可以參考下
    2024-03-03
  • 嵌入式C實(shí)戰(zhàn)項(xiàng)目開發(fā)技巧:對(duì)一個(gè)有規(guī)律的數(shù)組表進(jìn)行位移操作的方法

    嵌入式C實(shí)戰(zhàn)項(xiàng)目開發(fā)技巧:對(duì)一個(gè)有規(guī)律的數(shù)組表進(jìn)行位移操作的方法

    今天小編就為大家分享一篇關(guān)于嵌入式C實(shí)戰(zhàn)項(xiàng)目開發(fā)技巧:對(duì)一個(gè)有規(guī)律的數(shù)組表進(jìn)行位移操作的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • C++設(shè)計(jì)模式之抽象工廠模式

    C++設(shè)計(jì)模式之抽象工廠模式

    這篇文章主要介紹了C++設(shè)計(jì)模式之抽象工廠模式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的三子棋

    C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的三子棋

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的三子棋,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • 深度剖析C++對(duì)象池自動(dòng)回收技術(shù)實(shí)現(xiàn)

    深度剖析C++對(duì)象池自動(dòng)回收技術(shù)實(shí)現(xiàn)

    今天小編就為大家分享一篇關(guān)于深度剖析C++對(duì)象池自動(dòng)回收技術(shù)實(shí)現(xiàn),小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • OpenCV實(shí)現(xiàn)透視變換矯正

    OpenCV實(shí)現(xiàn)透視變換矯正

    這篇文章主要為大家詳細(xì)介紹了OpenCV實(shí)現(xiàn)透視變換矯正,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C++編程面向?qū)ο笕腴T全面詳解

    C++編程面向?qū)ο笕腴T全面詳解

    這篇文章主要為大家介紹了C++面向?qū)ο笕腴T的全面詳解,文章較長(zhǎng)非常全面建議收藏閱讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-10-10
  • 一文詳解C++中運(yùn)算符的使用

    一文詳解C++中運(yùn)算符的使用

    這篇文章主要為大家詳細(xì)介紹了C++中運(yùn)算符的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-05-05

最新評(píng)論