C++嵌套类的学习
2013-05-16 11:12
309 查看
嵌套类,这里指的是语法上的嵌套类,实际上是平行的关系。
外围类需要使用嵌套类对象作为底层实现,并且该嵌套类只用于外围类的实现且同时可以对用户隐藏该底层实现。
# 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: //默认是私有,这里声明为公有,main函数才能 Outer::Inner i;
class Inner
{
public:
void Fun();
//{
// cout << "Inner::Fun..." << endl;
//}
};
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;
}
运行结果:
本文出自 “_Liang_Happy_Life__Dream” 博客,请务必保留此出处http://liam2199.blog.51cto.com/2879872/1172203
外围类需要使用嵌套类对象作为底层实现,并且该嵌套类只用于外围类的实现且同时可以对用户隐藏该底层实现。
# 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: //默认是私有,这里声明为公有,main函数才能 Outer::Inner i;
class Inner
{
public:
void Fun();
//{
// cout << "Inner::Fun..." << endl;
//}
};
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;
}
运行结果:
本文出自 “_Liang_Happy_Life__Dream” 博客,请务必保留此出处http://liam2199.blog.51cto.com/2879872/1172203
相关文章推荐
- C++学习笔记二十三-嵌套类
- C++学习之嵌套类和局部类
- C++学习之嵌套类和局部类
- C++学习笔记(十二):类继承、虚函数、纯虚函数、抽象类和嵌套类
- c++学习之-------嵌套类的
- 怎么学习C++
- 学习C++的方法
- c++学习笔记(1.c到c++的升级)
- C++ const的学习
- 【学习C++】学习C++ -> 变量、常量与运算符
- Kingofark关于学习C++和编程的50个观点2003修订版
- C++ STL 学习总结
- 学习C/C++语言:用选择法对SIZE个整数由大到小顺序排序
- C++学习笔记4--静态属性 静态方法 虚方法 抽象方法 多态性 析构函数 运算符重载 多继承 虚继承
- 学习C++
- c++ 学习中遇到的问题:ifstream打开指定路径时,显示路劲错误
- C++内存管理学习
- Kingofark关于学习C++和编程的50个观点2003修订版
- 【C++再学习】【02】C部分一些整理
- C++学习笔记(3)