午夜网站国产欧美_加勒比视频亚洲无码_91亚洲人人在字幕国产_18禁止美女爆乳免费网站_被消防员c哭高h野外糙汉动漫_午夜精品视频在线无码_gogowww人体大胆裸体午液_2021自拍偷区亚洲综合第一页_国产欧美一区二区精品性色超碰_99國產精品無碼

Hi,您好,歡迎來(lái)到西安盛圖軟件科技有限公司!

C++ 訪問(wèn)修飾符

發(fā)布時(shí)間:2023-12-11 13:57:16

C++ 是面向?qū)ο蟮木幊陶Z(yǔ)言,對(duì)象就是面向?qū)ο蟪绦蛟O(shè)計(jì)的核心。所謂對(duì)象就是真實(shí)世界中的實(shí)體,對(duì)象與實(shí)體是一一對(duì)應(yīng)的,也就是說(shuō)現(xiàn)實(shí)世界中每一個(gè)實(shí)體都是一個(gè)對(duì)象,它是一種具體的概念。本文主要介紹C++ 訪問(wèn)修飾符。

1、常見的訪問(wèn)修飾符

1)public(共有成員)

修飾成員在任意地方都可以訪問(wèn)。公有成員在程序中類的外部是可訪問(wèn)的??梢圆皇褂萌魏纬蓡T函數(shù)來(lái)設(shè)置和獲取公有變量的值。

例如,

#include <iostream>
using namespace std;
class Line
{

  public:
     double length;
     void setLength( double len );
     double getLength( void );
};
// 成員函數(shù)定義
double Line::getLength(void)
{
   return length ;
}
void Line::setLength( double len )
{
   length = len;
}
// 程序的主函數(shù)
int main( )
{
  Line line;
  // 設(shè)置長(zhǎng)度
  line.setLength(6.0);
  cout << "Length of line : " << line.getLength() <<endl;
  // 不使用成員函數(shù)設(shè)置長(zhǎng)度
  line.length = 10.0; // OK: 因?yàn)?length 是公有的
  cout << "Length of line : " << line.length <<endl;
  return 0;
}

2)private(私有成員)

修飾的成員只能夠在類中或者友元函數(shù)中可以訪問(wèn)。私有成員變量或函數(shù)在類的外部是不可訪問(wèn)的,甚至是不可查看的。只有類和友元函數(shù)可以訪問(wèn)私有成員。默認(rèn)情況下,類的所有成員都是私有的。 width 是一個(gè)私有成員。

例如,

#include <iostream>
using namespace std;
class Box
{

  public:
     double length;
     void setWidth( double wid );
     double getWidth( void );
  private:
     double width;
};
// 成員函數(shù)定義
double Box::getWidth(void)
{
   return width ;
}
void Box::setWidth( double wid )
{
   width = wid;
}
// 程序的主函數(shù)
int main( )
{
  Box box;
  // 不使用成員函數(shù)設(shè)置長(zhǎng)度
  box.length = 10.0; // OK: 因?yàn)?length 是公有的
  cout << "Length of box : " << box.length <<endl;
  // 不使用成員函數(shù)設(shè)置寬度
  // box.width = 10.0; // Error: 因?yàn)?width 是私有的
  box.setWidth(10.0);  // 使用成員函數(shù)設(shè)置寬度
  cout << "Width of box : " << box.getWidth() <<endl;
  return 0;
}

2)protected(保護(hù)成員)

修飾的成員可以在類中的函數(shù)、子類函數(shù)及友元函數(shù)中訪問(wèn)。

保護(hù)成員變量或函數(shù)與私有成員類似,但有一點(diǎn)不同,保護(hù)成員在派生類(即子類)中是可訪問(wèn)的。

例如,

#include <iostream>
using namespace std;
class Box
{

  protected:
     double width;
};
class SmallBox:Box // SmallBox 是派生類
{
  public:
     void setSmallWidth( double wid );
     double getSmallWidth( void );
};
// 子類的成員函數(shù)
double SmallBox::getSmallWidth(void)
{
   return width ;
}
void SmallBox::setSmallWidth( double wid )
{
   width = wid;
}
// 程序的主函數(shù)
int main( )
{
  SmallBox box;
  // 使用成員函數(shù)設(shè)置寬度
  box.setSmallWidth(5.0);
  cout << "Width of box : "<< box.getSmallWidth() << endl;
  return 0;
}


2、訪問(wèn)修飾符繼承

publicprotectedprivate三種繼承方式,它們相應(yīng)地改變了基類成員的訪問(wèn)屬性。


1)public 繼承

基類 public 成員,protected 成員,private 成員的訪問(wèn)屬性在派生類中分別變成:publicprotectedprivate


2)protected 繼承

基類 public 成員,protected 成員,private 成員的訪問(wèn)屬性在派生類中分別變成:protectedprotectedprivate


3)private 繼承

基類 public 成員,protected 成員,private 成員的訪問(wèn)屬性在派生類中分別變成:privateprivate

上一篇:C++ File文件處理 刪除文件和文件夾目錄
下一篇:C++基礎(chǔ)|C++ 構(gòu)造函數(shù)

歡迎登錄盛圖科技

歡迎注冊(cè)盛圖科技

已有賬號(hào),立即登錄