C++ Primer 笔记——嵌套类 局部类】的更多相关文章

1.嵌套类是一个独立的类,与外层类基本没什么关系.特别的是,外层类的对象和嵌套类的对象是相互独立的.在嵌套类的对象中不包含任何外层类定义的成员,在外层类的对象中也不包含任何嵌套类定义的成员. 2.嵌套类在其外层类中定义了一个类型成员.和其他成员类似,该类型的访问权限由外层类决定. class external { public: int m_id; // internal里无法使用这个变量 class internal; }; class external::internal { public:…
C++学习之嵌套类和局部类 局部类 在一个函数体内定义的类称为局部类. 局部类中只能使用它的外围作用域中的对象和函数进行联系,因为外围作用域中的变量与该局部类的对象无关.在定义局部类时需要注意:局部类中不能说明静态成员函数,并且所有成员函数都必须定义在类体内.在实践中,局部类是很少使用的.下面是一个局部类的例子. int a; void fun() { static int s; class A { public: void init(int i) { s = i; } }; A m; m.in…
使用嵌套类(类中定义的类,c++没有静态类)或局部类(在函数或成员方法中定义的类),进行行为模式的委托(委托请求)或异步 . java中嵌套类和局部类隐式完成了你对外部对象(实例)访问的私有堆栈的初始化,而c++你必须通过类成员变量来保存你要访问到的 外部对象(变量,实例),即自行实现私有堆栈,并使用嵌套类和局部类的构造函数,以参数传递的方式初始化这些用作私有堆栈的成 员变量.当你的局部类(在函数中定义的类)要访问到函数的局部变量时,你并不能确保局部类在局部变量被释放前访问,所以你只能 将局部变…
嵌套类 嵌套类有两种类别:static and non-static,分别对应为静态嵌套类和内部类. class OuterClass { ... static class StaticNestedClass { ... } class InnerClass { ... } } 其中静态嵌套类只能访问外部类的静态成员,内部类可以访问外部类的任意成员:它们可以被声明为private, public, protected, 或 package private. 静态嵌套类实例化方式为: OuterC…
定义: 在一个类中定义的类叫做嵌套类. 作用: 1.允许对相关类进行逻辑分组 2.增强了代码的封装性 3.使代码具有更强的可读性和维护性 使用方式: package com.cmz.baseTest; /** * 嵌套类学习 * * @author skyCc * @Date 2014年3月11日 */ public class InnerClassStudy { /** * 静态嵌套类 * * @author skyCc * @Date 2014年3月11日 */ static class n…
1.C++语言并未定义任何输入输出语句,取而代之,包含了一个全面的标准库来提供IO机制. 由上图能够知道,I/O操作的基类是ios_base,各个类的用途例如以下: <iostream> istream    从流中读取数据 ostream   向流中写数据 iostream  对流进行读写操作.派生于istream和ostream <fstream> ifstream    从文件里读取数据.派生于istream ofstream   向文件里写数据,派生于ostream fst…
嵌套类 #include <iostream> using namespace std; class c1 { public: int a; void foo(); class c2 { public: int a; void foo(); } b; }; void c1::foo() { a = ; } void c1::c2::foo() { a = ; } int main() { class c1 f; f.foo(); f.b.foo(); cout << f.a <…
重载new和delete 1调用operator new( 或new[])标准库函数分配足够大的.原始的.未命名的内存空间以便存储特定类型的对象 2编译器运行相应地构造函数以构造这些对象,并为其传入初始值 3返回一个指向该对象的指针 可以在全局作用域定义operator new,也可以定义为成员函数 如果是类类型,首先在本类及其基类中查找,否则在全局域中查找,最后使用标准库定义版本. //这些版本可能抛出异常 void operator new(size_t); void operator ne…
特殊工具与技术 --嵌套类 能够在还有一个类内部(与后面所讲述的局部类不同,嵌套类是在类内部)定义一个类,这种类是嵌套类,也称为嵌套类型.嵌套类最经常使用于定义运行类. 嵌套类是独立的类,基本上与它们的外围类不相关,因此,外围类和嵌套类的对象是互相独立的.嵌套类型的对象不具备外围类所定义的成员,相同,外围类的成员也不具备嵌套类所定义的成员. 嵌套类的名字在其外围类的作用域中可见,但在其它类作用域或定义外围类的作用域中不可见.嵌套类的名字将不会与还有一作用域中声明的名字冲突 嵌套类能够具有与非嵌套…
通常情况下,一个Java代码文件只定义一个类,即使两个类是父类与子类的关系,也要把它们拆成两个代码文件分别定义.可是有些事物相互之间密切联系,又不同于父子类的继承关系,比如一棵树会开很多花朵,这些花儿作为树木的一份子,它们依附于树木,却不是树木的后代.花朵不但拥有独特的形态,包括花瓣.花蕊.花萼等,而且拥有完整的生命周期,从含苞欲放到盛开绽放再到凋谢枯萎.这样一来,倘若把花朵抽象为花朵类,那么花朵类将囊括花瓣.花蕊.花萼等成员属性,以及含苞.盛开.凋谢等成员方法.既然花朵类如此规整,完全可以定义…