局部类
  局部类是指在javascript:;" onClick="javascript:tagshow(event, '函数');" target="_self">函数中定义类。
  (c++不能在函数中定义函数。c++在类中定义的函数也是成员函数。)这个类以及由它创建的对象,都局限在该函数作用域中;必须在类内实现所有的成员函数,不能拿到类外。因为函数是不可以嵌套定义的;若类内含有静态数据成员,必须在该函数外初始化;类内不可含有静态函数成员;类中不可使用包裹它的函数所定义的除静态外的局部变量。
  c++内部类与java内部类大的区别是:
  c++的内部类对象没有外部类对象的指针,不能访问外部类对象的非静态成员;java的非静态内部类对象有外部类对象的指针,能访问外部类对象的非静态成员。
  1 局部类Demo 示例  int a;
voidfun()
{
staticints;
classA
{
public:
voidinit(inti){s=i;}
};
Am;
m.init(10);
}
  2  局部类的另一个用途是用来实现类型转化
class Interface
{
public:
virtual void Fun() = 0;
};
template <class T, class P>
Interface* MakeAdapter(const T& obj, const P& arg)
{
int x;
class Local : public Interface
{
public:
Local(const T& obj, const P& arg)
: obj_(obj), arg_(arg) {}
virtual void Fun()
{
x = 100;
obj_.Call(arg_);
}
private:
T obj_;
P arg_;
};
return new Local(obj, arg);
}