C 內部類(解決名字衝突問題一)

2021-09-02 03:55:09 字數 920 閱讀 5048

將內部類看成普通成員,符合普通成員的規則,用法就是正常類的使用方法。

把乙個類的定義寫在另乙個類的內部,則成裡面的這個類為內部類。例如,下面**中的inner類

#include #include class test;};

int main()

注意:內部類和外部類互相沒有特權

他們不是朋友關係;

他們不是父子關係;

他們沒有任何特殊關係。

比如下面這個例子,被宣告為私有變數後就不能被訪問:

class test

};public:

test()

};

main.cpp

#include "stdafx.h"

#include #include #include "test.h"

int main()

test.h

#pragma once

class test

;};

test.cpp

#include "stdafx.h"

#include "test.h"

test::test()

test::~test()

void test::inner::print()

看完了內部類的用法,發現他與普通類沒有任何區別,那為什麼需要內部類?

(1)避免命名重複;

(2)如果乙個類只在模組內部使用,則可以實現類名隱藏。

C 學習筆記 內部類與名字空間

內部類的定義 把乙個類的定義寫在另乙個類的內部,則稱裡面這個類為內部類。例如,inner就是 class aaa 在使用該內部類時,類名要使用全程 aaa inner。除此之外,內部類和普通類沒有任何區別。內部類和外部類互相沒有特權,他們不是朋友關係,他們不是父子關係,他們沒有任何關係。所以,外部類...

名字空間解決資料庫衝突問題

任何的程式設計都離不開資料庫的應用,資料庫訪問方式有ado dao odbc rdo bde.正因為有這麼多的資料庫訪問方式,往往由於資料庫方式的不同其達到的功能也不同,乙個大型軟體專案各個模組的不同或乙個開發小組各個成員掌握的資料庫訪問方式熟練程度的不同,都會出現乙個軟體專案使用幾種資料庫訪問方式...

靜態內部類解決靜態變數注入問題

1.靜態變數不可直接注入,可通過setter的方式注入,且setter方法不能為static,實際上是在靜態變數被載入並預設初始化過後,初始化bean時被注入的 2.靜態內部類可在bean被初始化之後再載入,從而實現利用外部類靜態變數的目的 3.變數的注入,需要注意變數名的統一 public cla...