C++嵌套类的使用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C++嵌套类的使用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1421字,纯文字阅读大概需要3分钟。
内容图文
C++的嵌套类意思就是类中定义的类,它和外围类的成员类似,也被相应的访问权限修饰符修饰。1 嵌套类可以直接方位外围类中的static成员变量。
2 嵌套类可以通过引用,指针,或者对象来访问外围类的成员,不管该成员是public,private,protected。
3 嵌套类被private修饰的时候就不能在用户代码中被定义对象,因为是private的
4 外围类对嵌套类的非public成员没有访问权限,对public成员具有访问权限
5 外围类不能直接访问嵌套类的public静态成员,必须加上限定符。
示例程序如下:
//QT.h
#ifndef DDXX_QT_H #define DDXX_QT_H class BA { class SB; public: BA(); ~BA(); int bc; static int bd; void funp(SB* pSb); private: int ba; static int bb; public: class SB { public: SB(); ~SB(); int sa; static int sb; void func(BA* pBa); private: int sc; static int sd; }; }; #endif//QT.cpp
#include "QT.h" #include <iostream> using namespace std; int BA::bd = 12; int BA::bb = 13; int BA::SB::sb = 21; int BA::SB::sd = 23; BA::BA() { ba = 1; bc = 2; } BA::~BA() { } void BA::funp(BA::SB* pSb) { pSb = new BA::SB(); pSb->sa; pSb->sb; //pSb->sc; //private //pSb->sd; //private delete pSb; pSb = NULL; } BA::SB::SB() { } BA::SB::~SB() { } void BA::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; delete pBa; pBa = NULL; }
//main.cpp
#include <iostream> #include "QT.h" using namespace std; void main() { BA T; T.funp(NULL); //BA::SB 当修饰符为private时候,不能被外部访问 BA::SB Tb; Tb.func(NULL); }
原文:http://blog.csdn.net/ddupd/article/details/43275093
内容总结
以上是互联网集市为您收集整理的C++嵌套类的使用全部内容,希望文章能够帮你解决C++嵌套类的使用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。