本文共 957 字,大约阅读时间需要 3 分钟。
嵌套类,这里指的是语法上的嵌套类,实际上是平行的关系。
外围类需要使用嵌套类对象作为底层实现,并且该嵌套类只用于外围类的实现且同时可以对用户隐藏该底层实现。
- # include <iostream>
- using namespace std;
-
- class Outer
- {
- class Inner
- {
- public:
- void Fun()
- {
- cout << "Inner::Fun..." << endl;
- }
- };
- public:
- Inner obj_;
-
- void Fun()
- {
- cout <<"Outer::Fun..."<< endl;
- obj_.Fun();
- }
-
- };
-
-
- int main(void)
- {
- Outer o;
- o.Fun();
-
- return 0;
- }
运行结果:
嵌套类中的成员函数可以在它的类体外定义
从作用域的角度看,嵌套类被隐藏在外围类之中,该类名只能
在外围类中使用。如果在外围类的作用域使用该域名时,需要
加名字限定。
嵌套类的成员函数对外围类的成员没有访问权,反之亦然。
嵌套类仅仅只是语法上的嵌入,平行的关系,外部也可以使用对象。
- # include <iostream>
- using namespace std;
-
- class Outer
- {
- public:
- class Inner
- {
- public:
- void Fun();
-
-
-
- };
- public:
- Inner obj_;
- void Fun()
- {
- cout<< "Outer::Fun..." << endl;
- obj_.Fun();
- }
-
- };
-
- void Outer::Inner::Fun()
- {
- cout << "Inner::Fun..." << endl;
- }
-
- int main(void)
- {
-
- Outer::Inner i;
- i.Fun();
-
- return 0;
- }
运行结果:
转载地址:http://lzeeo.baihongyu.com/