woaidongmao
文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
數據加載中……
C++局部類和嵌套類的區別
局部類
在一個函數體內定義的類稱為局部類。局部類中只能使用它的外圍作用域中的對象和函數進行聯系,因為外圍作用域中的變量與該局部類的對象無關。局部類不能被外部所繼承。在定義局部類時需要注意:局部類中不能說明靜態成員函數,并且所有成員函數都必須定義在類體內。在實踐中,局部類是很少使用的。下面是一個局部類的例子。
int
a;
void
fun()
{
static
int
s;
class
A
{
public
:
void
init(
int
i)
{ s
=
i; }
}
;
A m;
m.init(
10
);
}
局部類的另一個用途是用來實現類型轉化,如下代碼:
class
Interface
{
public
:
virtual
void
Fun()
=
0
;
}
;
template
<
class
T,
class
P
>
Interface
*
MakeAdapter(
const
T
&
obj,
const
P
&
arg)
{
int
x;
class
Local :
public
Interface
{
public
:
Local(
const
T
&
obj,
const
P
&
arg)
: obj_(obj), arg_(arg)
{}
virtual
void
Fun()
{
x
=
100
;
obj_.Call(arg_);
}
private
:
T obj_;
P arg_;
}
;
return
new
Local(obj, arg);
}
嵌套類
在一個類中定義的類稱為嵌套類,定義嵌套類的類稱為外圍類。
定義嵌套類的目的在于隱藏類名,減少全局的標識符,從而限制用戶能否使用該類建立對象。這樣可以提高類的抽象能力,并且強調了兩個類(外圍類和嵌套類)之間的主從關系。下面是一個嵌套類的例子:
class
A
{
public
:
class
B
{
public
:
…
private
:
…
}
;
void
f();
private
:
int
a;
}
其中,類B是一個嵌套類,類A是外圍類,類B定義在類A的類體內。
對嵌套類的若干說明:
1、從作用域的角度看,嵌套類被隱藏在外圍類之中,該類名只能在外圍類中使用。如果在外圍類的作用域內使用該類名時,需要加名字限定。
2、從訪問權限的角度來看,嵌套類名與它的外圍類的對象成員名具有相同的訪問權限規則。不能訪問嵌套類的對象中的私有成員函數,也不能對外圍類的私有部分中的嵌套類建立對象。
3、嵌套類中的成員函數可以在它的類體外定義。
4、嵌套類中說明的成員不是外圍類中對象的成員,反之亦然。嵌套類的成員函數對外圍類的成員沒有訪問權,反之亦然。國此,在分析嵌套類與外圍類的成員訪問關系時,往往把嵌套類看作非嵌套類來處理。這樣,上述的嵌套類可寫成如下格式:
class A
{
public:
void f();
private:
int a;
};
class B
{
public:
…
private:
…
};
由引可見,嵌套類僅僅是語法上的嵌入。
5、在嵌套類中說明的友元對外圍類的成員沒有訪問權。
6、如果嵌套類比較復雜,可以只在外圍類中對嵌套類進行說明,關于嵌套的詳細的內容可在外圍類體外的文件域中進行定義。
參考:C++編程思想和網絡文章。
posted on 2008-09-14 18:05
肥仔
閱讀(313)
評論(0)
編輯
收藏
引用
所屬分類:
C++ 基礎
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
相關文章:
重定向printf,輸出到文件里
指針訪問與數組訪問的效率分析
printf此用法
Printf 格式控制符大全
從B樹談到R樹之B樹的c實現
C語言字節對齊
delete與delete[]的區別
printf 輸出 int64的問題
default constructor 和 copy constructor 小結
指向重載函數的指針
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 肥仔
導航
C++博客
首頁
新隨筆
聯系
聚合
管理
<
2009年1月
>
日
一
二
三
四
五
六
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(10)
給我留言
查看公開留言
查看私人留言
隨筆分類
Boost & STL (37)
(rss)
C++ 基礎(181)
(rss)
C++ 模板(48)
(rss)
COM(12)
(rss)
Flash & Flex(3)
(rss)
HTTP & URL(24)
(rss)
IDC & 服務器DIY(4)
(rss)
LEX & YACC(41)
(rss)
Linux(1)
(rss)
MFC存檔(30)
(rss)
OOP(8)
(rss)
UML(4)
(rss)
VC 存檔(45)
(rss)
Web Rss(4)
(rss)
Web-后臺(157)
(rss)
Web-前臺(32)
(rss)
Win32 Bat(1)
(rss)
Windows開發(91)
(rss)
XML(5)
(rss)
編程思想(96)
(rss)
調試(17)
(rss)
工具(22)
(rss)
腳本語言(10)
(rss)
開車(46)
(rss)
庫 & 代碼段(16)
(rss)
模板引擎(8)
(rss)
其他經驗(30)
(rss)
設計模式(4)
(rss)
設計圖例(6)
(rss)
生活——常識(31)
(rss)
生活——導購(15)
(rss)
生活——健康(118)
(rss)
生活——運動(30)
(rss)
生活——自行車(2)
(rss)
數據結構 & 算法(2)
(rss)
數據庫(97)
(rss)
網絡編程(59)
(rss)
壓縮 & 解壓(9)
(rss)
正則表達式(6)
(rss)
轉型——創業 & 立業(46)
(rss)
轉型——經濟 & 金融(8)
(rss)
轉型——投資 & 理財
(rss)
狀態機 & 自動機 & 形式語言(56)
(rss)
字符編碼(16)
(rss)
隨筆檔案
2014年4月 (1)
2013年4月 (1)
2013年3月 (1)
2012年9月 (4)
2012年7月 (4)
2012年6月 (10)
2012年5月 (4)
2012年4月 (19)
2012年3月 (24)
2012年2月 (2)
2012年1月 (3)
2011年12月 (1)
2011年11月 (2)
2011年10月 (2)
2011年9月 (13)
2011年8月 (40)
2011年7月 (31)
2011年6月 (22)
2011年5月 (25)
2011年4月 (21)
2011年3月 (20)
2011年2月 (11)
2011年1月 (13)
2010年12月 (9)
2010年9月 (3)
2010年8月 (3)
2010年7月 (10)
2010年6月 (2)
2010年5月 (9)
2010年4月 (3)
2010年3月 (20)
2010年2月 (12)
2010年1月 (4)
2009年12月 (9)
2009年11月 (19)
2009年10月 (38)
2009年9月 (64)
2009年8月 (116)
2009年7月 (47)
2009年6月 (121)
2009年5月 (14)
2009年4月 (10)
2009年3月 (59)
2009年2月 (15)
2009年1月 (24)
2008年12月 (57)
2008年11月 (84)
2008年10月 (60)
2008年9月 (97)
2008年8月 (52)
2008年7月 (26)
2008年6月 (59)
2008年5月 (112)
2008年4月 (35)
2008年1月 (2)
搜索
最新評論
1.?re: 利用VS2005進行dump文件調試
不錯,工具是什么、怎么用清楚了,程序調試、查錯非常有用
--黃華仔
2.?re: COM 類工廠有必要存在嗎?
評論內容較長,點擊標題查看
--天空之城
3.?re: 改動和維護一份代碼的多個版本將使人心力憔悴[未登錄]
123
--123
4.?re: MySql數據庫--mysql_real_escape_string()函數
ert
--wewe\'4545
5.?re: 使用std::vector 的陷阱
評論內容較長,點擊標題查看
-- klinik apotik24
6.?re: 使用std::vector 的陷阱
評論內容較長,點擊標題查看
--Dr.Aborsi Kandungan
7.?re: 利用C++模板,代替虛函數,實現類的靜態多態性(加入性能測試部分)[未登錄]
求問怎么優化的
--hunter
8.?re: 淺談URL最后帶斜杠對SEO優化的影響
不錯
--第三方
9.?re: 大文件內數據排序問題:采用文件映射內存技術
あなたの教授が望んでいた紙を提供することができるので、あなたが期限と提出の期日を心配する必要はありません
--best-custom-essays.com
10.?re: 大文件內數據排序問題:采用文件映射內存技術
は!この記事では、はるかに良い書き込むことができませんると、私の以前のルームメイトのことをでした!
--Essays-shark.net
11.?re: 有限狀態機時代終結的10大理由
技術終會發展,但也用不著扯淡吧。
--ywx
12.?re: traits:Traits技術初探
示例不能運行啊
--lzq
13.?re: 使用std::vector 的陷阱
如果有引用記數的話,如智能指針, 就不會被釋放掉了。不過如果一般編碼里面不需要用到引用記數的話,還是方法1比較簡便
--Obat Penggugur Kandungan
14.?re: 使用std::vector 的陷阱
容器只有責任維護你給他的東西,但沒理由維護這個東西里面的東西。不僅僅是vector,STL所有的容器如果按你這種思維去用
--Cara Menggugurkan Kandungan
15.?re: C++中派生類對基類成員的三種訪問規則
@lan
確實不可以,只有在派生類成員函數中(內部訪問)才可以訪問。
--walzzz
16.?re: 使用std::vector 的陷阱
私のような初心者のための読書の多くを必要とし、様々なブログ上の情報を検索します。あなたはとても素敵を共有し、私を鼓舞し、記事
--cara menggugurkan kandungan
17.?re: 分層有限狀態機HFSM\行為樹BEHAVIOR TREE和FSM
那個鏈接的帖子沒了,可以給一個學習下嗎,
2520079@qq.com
--屌絲策劃一枚
18.?re: 使用std::vector 的陷阱
この記事では、読者のために非常に良いと便利です。知識の共有をありがとうございました
--obat penggugur kandungan
19.?re: 判斷字符串是否UTF8編碼
有問題,輸入 GBK的 “藍色” ,判斷的結果是utf-8編碼。
--ddd
20.?re: visual studio 2008 試用版評估期已結束的解決方法
大謝,有的人沒有這個框的。@lizongqi
--WU
21.?re: 判斷字符串是否UTF8編碼
試一下輸入gbk碼的“聯通”二字,發現判斷的結果是utf-8編碼,所以該判斷函數存在問題
--liuyuananfang
22.?re: 淺談URL最后帶斜杠對SEO優化的影響[未登錄]
轉載請說明,連個原文地址也沒有,素質!
--無名
23.?re: 模板導致的代碼膨脹問題和解決
評論內容較長,點擊標題查看
--myanbu
24.?re: 利用C++模板,代替虛函數,實現類的靜態多態性(加入性能測試部分)
評論內容較長,點擊標題查看
--ngugc
25.?re: visual studio 2008 試用版評估期已結束的解決方法
評論內容較長,點擊標題查看
--費瓦湖
26.?re: 使用std::vector 的陷阱
評論內容較長,點擊標題查看
--judi bola
27.?re: 詞法分析器生成工具FLEX簡介[未登錄]
yywrap()函數果真一定要用戶提供嗎?我自己寫的例子就沒有提供,照樣運行的好好的。
--路人甲
28.?re: C函數中,可變長參數的傳遞?
大愛樓主
--花雨
29.?re: MYSQL查詢某一個字段為空或者不為空[未登錄]
123123123
--123
30.?re: 關于FlushViewOfFile的問題
感覺我的東西并沒有寫入磁盤為什么你
--jjj
31.?re: malloc,new,VirtualAlloc,HeapAlloc性能(速度)比較
new 或 malloc調用heapalloc,heapalloc調用virtualalloc。底層速度更快。
如果你顯示的結果慢,那是因為你使用方式不符合相對應的API特點而已。
--看到了
32.?re: 利用GoAhead構建嵌入式web應用
收錄卻不附上鏈接地址,有點過了,學這行基本的版權意識都沒有
--fsa
33.?re: 大文件內數據排序問題:采用文件映射內存技術
評論內容較長,點擊標題查看
--http://www.tvslakshmischool.org/
34.?re: Dissect Eclipse Plugin Framework
評論內容較長,點擊標題查看
--IT技術網站
35.?re: PowerDesigner教程系列
評論內容較長,點擊標題查看
--IT技術網站
36.?re: 使用zlib壓縮解壓縮文件的詳細過程
我只能參考前5行
--Fack
37.?re: visual studio 2008 試用版評估期已結束的解決方法
真的很好用。補丁特別給力!方法也是對的。兩個方法要結合到一起來用。
--Lueyhong Wu
38.?re: 用匯編實現原子操作
評論內容較長,點擊標題查看
--wd
39.?re: 代碼自動生成工具MyGeneration之一,二,三
這個不是原創的吧....
--原創者
40.?re: 使用std::vector 的陷阱
但沒理由維護這個東西里面的東西。所有的容器如果按你這種思維去用,則應該存儲該數據
--agen bola terpercaya
閱讀排行榜
1.?google ProtoBuf開發者指南(72264)
2.?怎樣在Word里面將字體背景顏色去掉?(56388)
3.?如何使用Office2003來打開Docx、xlsb、xlsx等文件(40986)
4.?vc中調用Com組件的方法詳解(39529)
5.?visual studio 2008 試用版評估期已結束的解決方法(39227)
6.?gSOAP中文文檔(34474)
7.?C函數中,可變長參數的傳遞?(32280)
8.?Bison-Flex 筆記(24656)
9.?膝蓋過勞損傷----詳細分類圖片(特優文章)(23565)
10.?使用zlib壓縮解壓縮文件的詳細過程(22955)
11.?有限狀態機時代終結的10大理由(20905)
12.?利用VS2005進行dump文件調試(20764)
13.?現在市面上的正紅花油到底哪個是最老的牌子?(19222)
14.?衣服洗完以后還有一種臭汗味,如何處里?(19087)
15.?PowerDesigner教程系列(18280)
16.?局域網通過ip查看對方計算機名,通過計算機名查看對方ip(18232)
17.?詞法分析(NFA與DFA)(18087)
18.?windows中添加PATH環境變量(17964)
19.?zlib用法簡單說明(17169)
20.?草木瓜----Lex和Yacc教程(16719)
21.?malloc,new,VirtualAlloc,HeapAlloc性能(速度)比較(15928)
22.?MYSQL查詢某一個字段為空或者不為空(15889)
23.?Java連接mysql數據庫攻略(15781)
24.?用Visio畫UML圖 類結構圖(基本篇)(14787)
25.?用Visio畫UML圖 基本操作(13714)
26.?使用Flex Bison 和LLVM編寫自己的編譯器(13381)
27.?膝蓋解剖圖(12417)
28.?Word項目符號和編號對齊的問題(12392)
29.?Keep-Alive: timeout=5, max=100(12233)
30.?Zlib函數列表和使用手冊(11738)
31.?用Visio畫UML圖 類結構圖(進階篇)(11364)
32.?java enum無法賦初始值(11098)
33.?MySql數據庫--mysql_real_escape_string()函數(11003)
34.?字符串匹配算法(10901)
35.?zlib使用defalte, gzip的例子(10454)
36.?如何在vc中更改棧空間的大小(10278)
37.?使用MiniDumpWriteDump API 來生成程序的Dump(10186)
38.?詞法分析器生成工具FLEX簡介(10119)
39.?HTTP/1.1協議規范(中文歸納版)(10091)
40.?享譽盛名的12分鐘跑以及相關成績(10001)
評論排行榜
1.?visual studio 2008 試用版評估期已結束的解決方法(58)
2.?使用std::vector 的陷阱(30)
3.?40 個輕量級 JavaScript 庫(17)
4.?SIZEOF宏,彌補sizeof不足(17)
5.?正則表達式30分鐘入門教程(16)
6.?EXT_ASSERT將ASSERT與if結合在一起(15)
7.?static 變量初始化順序引發的bug(14)
8.?Some of the best Open Source Project's in VC++ & MFC(14)
9.?malloc,new,VirtualAlloc,HeapAlloc性能(速度)比較(14)
10.?去掉PowerDesigner 15 在 Visual Studio 2008里的不兼容(13)
11.?Flex與JSON及XML的互操作(12)
12.?猜猜看,id變成9了嗎?(10)
13.?使用zlib壓縮解壓縮文件的詳細過程(9)
14.?VC9 用VC6的老字體 [VS2008 + Visual assister 1647的搭配蠻好](9)
15.?VC OCX 打包CAB 網頁發布全過程記錄(8)
16.?ZeroMQ 匯總(8)
17.?使用Flex Bison 和LLVM編寫自己的編譯器(7)
18.?跟腱炎----病友交流(7)
19.?膝蓋過勞損傷----詳細分類圖片(特優文章)(7)
20.?Ragel State Machine Compiler 的速度測試(7)
21.?聰明反被聰明誤,一個bug(7)
22.?用Lex和Yacc做一個簡單的SQL解釋器(7)
23.?yacc/lex windows 下 Parser Generator 使用指南(6)
24.?64位開發中去除64位平臺的內存錯誤方法(6)
25.?EmEditor編輯器幫助你批量替換文件名(6)
26.?google ProtoBuf開發者指南(6)
27.?C++ 標準庫中的 allocator 是多余的(5)
28.?大文件內數據排序問題:采用文件映射內存技術(5)
29.?淺層數據結構(結構型)vs 深層數據結構(聚合型)(5)
30.?怎樣在Word里面將字體背景顏色去掉?(5)
31.?云計算,炒作(5)
32.?larbin結構分析(5)
33.?利用C++模板,代替虛函數,實現類的靜態多態性(加入性能測試部分)(5)
34.?Virtual / 虛函數之一、二、三、四......(5)
35.?SOS, 請教:XML和struct之間相互轉換的問題(5)
36.?美利達公爵 vs ATX740(4)
37.?RSS利于發布什么樣的內容(4)
38.?開區間與閉區間——從初等數學中吸取一點編程養分(4)
39.?詞法分析(NFA與DFA)(4)
40.?Nokia免費GPS導航 ovi地圖 s60v5多語言(自帶中文)完全版(4)
久久99热只有频精品8
|
伊人久久一区二区三区无码
|
中文字幕无码免费久久
|
中文精品久久久久人妻不卡
|
久久婷婷国产综合精品
|
久久国产精品一区二区
|
国内精品久久久久影院亚洲
|
国产精品国色综合久久
|
亚州日韩精品专区久久久
|
成人妇女免费播放久久久
|
久久久久久久久久久免费精品
|
狠狠色丁香婷婷综合久久来来去
|
久久免费国产精品
|
国产精品无码久久综合
|
久久只这里是精品66
|
国产成人精品久久
|
久久久久亚洲av无码专区导航
|
久久精品国产一区二区三区不卡
|
囯产极品美女高潮无套久久久
|
久久精品无码一区二区无码
|
久久久久亚洲AV无码去区首
|
99麻豆久久久国产精品免费
|
无码任你躁久久久久久老妇App
|
国产精久久一区二区三区
|
久久久久久无码Av成人影院
|
伊人久久大香线蕉无码麻豆
|
久久精品国产只有精品66
|
亚洲一区中文字幕久久
|
久久e热在这里只有国产中文精品99
|
久久免费看黄a级毛片
|
久久中文字幕无码专区
|
久久久精品久久久久久
|
久久精品国产99久久丝袜
|
免费精品久久天干天干
|
久久婷婷色香五月综合激情
|
久久久久99精品成人片三人毛片
|
久久天堂电影网
|
国产成人99久久亚洲综合精品
|
久久久综合香蕉尹人综合网
|
久久久WWW成人免费毛片
|
久久久久国产
|