C++嵌套类的使用
来源:互联网 发布:数据科学与r语言 编辑:程序博客网 时间:2024/04/30 23:25
C++的嵌套类意思就是类中定义的类,它和外围类的成员类似,也被相应的访问权限修饰符修饰。
1 嵌套类可以直接方位外围类中的static成员变量。
2 嵌套类可以通过引用,指针,或者对象来访问外围类的成员,不管该成员是public,private,protected。
3 嵌套类被private修饰的时候就不能在用户代码中被定义对象,因为是private的
4 外围类对嵌套类的非public成员没有访问权限,对public成员具有访问权限
5 外围类不能直接访问嵌套类的public静态成员,必须加上限定符。
示例程序如下:
//QT.h
1 嵌套类可以直接方位外围类中的static成员变量。
2 嵌套类可以通过引用,指针,或者对象来访问外围类的成员,不管该成员是public,private,protected。
3 嵌套类被private修饰的时候就不能在用户代码中被定义对象,因为是private的
4 外围类对嵌套类的非public成员没有访问权限,对public成员具有访问权限
5 外围类不能直接访问嵌套类的public静态成员,必须加上限定符。
示例程序如下:
//QT.h
#ifndefDDXX_QT_H#defineDDXX_QT_Hclass BA{class SB;public:BA();~BA();intbc;staticint bd;voidfunp(SB* pSb);private:int ba;staticintbb;public:class SB{public:SB();~SB();int sa;static int sb;voidfunc(BA* pBa);private:int sc;staticintsd;};};#endif//QT.cpp
#include "QT.h"#include <iostream>using namespace std;intBA::bd = 12;intBA::bb = 13;intBA::SB::sb = 21;intBA::SB::sd = 23;BA::BA(){ba = 1;bc = 2;}BA::~BA(){}voidBA::funp(BA::SB* pSb){pSb = new BA::SB();pSb->sa;pSb->sb;//pSb->sc;//private//pSb->sd;//privatedelete pSb;pSb = NULL;}BA::SB::SB(){}BA::SB::~SB(){}voidBA::SB::func(BA* pBa){cout<<bb<<endl;cout<<bd<<endl;pBa = new BA();cout<<pBa->ba<<endl;cout<<pBa->bb<<endl;cout<<pBa->bc<<endl;cout<<pBa->bd<<endl;deletepBa;pBa = NULL;}
//main.cpp
#include <iostream>#include "QT.h"using namespace std;void main(){BA T;T.funp(NULL);//BA::SB 当修饰符为private时候,不能被外部访问BA::SBTb;Tb.func(NULL);}
0 0
- 嵌套类的使用
- 嵌套类的使用
- c++ 嵌套类的使用
- C#嵌套类的使用
- C++嵌套类的使用
- 【C/C++】嵌套类
- c+中嵌套类的访问权限
- .net 里多层 repeater 的嵌套使用(c#)
- 【C语言】注释不可以嵌套使用的举例
- 【C++】如何使用嵌套结构
- C++_嵌套类
- 接口里面嵌套类的使用
- C++中的嵌套类的使用?
- C++中嵌套类的使用
- 嵌套网页的使用
- #ifdef的嵌套使用
- vector的嵌套使用
- dataList的嵌套使用
- Devexpress gridcontrol checkbox不能多选问题
- 注释代码快捷键:
- two sum
- 北京治疗老年癫痫病医院-【癫痫专科医院】
- poj 1787 记录路径的多重背包
- C++嵌套类的使用
- 录像脑电图费用_名医养生-淮安特色技术专题
- java学习过程中的异常处理方式
- 怎么解决癫痫病人的心理问题
- mysql事务处理(transcation)
- 打印1到最大的N位数
- USACO3.1.2 Score Inflation (inflate)
- linux 程序、动态库、静态库内部添加版本号和编译时间
- 中华中医药癫痫病康复中心_名医养生-淮安新闻网特色技术专题_0