c++随手记——嵌套类
类中定义一个类的用法就称之为嵌套类。类之间的相互访问用友元函数来声明。
作用……没有体会到有什么用。
值得注意的是:
1.嵌套类也分public和private,外界的访问需要注意是public和private,否则不能随意访问。
2.嵌套类之后,size还是1.
实例代码如下:
#include<iostream>
using namespace std;
class A{
public:
int a;
class B{int b;};
};
class RGWDataAccess
{
int m_s32RgwData;
public:
RGWDataAccess(int s32RgwData):m_s32RgwData(s32RgwData){}
int getRGWDataAccess(){
return m_s32RgwData;
}
class Object;
class Bucket;
friend class Bucket;
friend class Object;
class Bucket
{
//friend class RGWDataAccess;
//friend class Object;
int m_s32BucketData;
public:
Bucket(int s32BucketData):m_s32BucketData(s32BucketData){}
int getBucketData(){return m_s32BucketData;}
};
class Object
{
friend class RGWDataAccess;
//friend class Bucket;
int m_s32ObjectData;
public:
Object(int s32ObjectData):m_s32ObjectData(s32ObjectData){}
int getObjectData(){
return m_s32ObjectData;
}
};
};
int main()
{
RGWDataAccess rgwData(5);
RGWDataAccess::Bucket bucket(10);
RGWDataAccess::Object object(15);
cout<<"rgwData.data:"<<rgwData.getRGWDataAccess()<<endl;
cout<<"object.data:"<<object.getObjectData()<<endl;
cout<<"sizeof(A):"<<sizeof(A)<<endl;
cout<<"sizeof(B):"<<sizeof(A::B)<<endl;
system("pause");
return 0;
}
参考博客:
https://cloud.tencent.com/developer/article/1177286
浙公网安备 33010602011771号