c++中嵌套类,外部类访问内部类的私有成员变量

在嵌套类中,内部类可以直接访问外部类的私有成员变量,但是外部类不能直接访问内部类的私有成员变量,必须把外部类声明为内部类的友元类

/*************************************************************************
	> File Name: test_private_outToinn.cpp
	> Author: 阿瞒123
	> Mail: caopp123@126.com 
	> Created Time: 2016年06月02日 星期四 05时36分21秒
 ************************************************************************/

#include<iostream>
using namespace std;
class OutterClass{
public:
	class InnerClass{
		int inner;
	public:
		friend class OutterClass;
		InnerClass(int in);
	};

	void outerprint(OutterClass::InnerClass in);

};


void OutterClass::outerprint(OutterClass::InnerClass in){
	cout<<in.inner<<endl;
}

OutterClass::InnerClass::InnerClass(int in){
	inner=in;
}

int main(){
	OutterClass ou;
	OutterClass::InnerClass in(100);
	ou.outerprint(in);
	return 0;
}

  

posted @ 2016-06-01 22:15  阿瞒123  阅读(2503)  评论(0)    收藏  举报