分类 --友元.static成员 一.友元 友元机制同意一个类将对其.友元关系:一个样例 如果一个窗体管理类Window_Mgr可能须要訪问由其管理的Screen对象的内部数据.Screen应该同意其訪问自己的私有成员: class Screen { friend class Window_Mgr; }; Window_Mgr的成员能够直接引用Screen的私有成员: Window_Mgr & Window_Mgr::relocate(Screen::index x,Screen::index…
复印控制 --管理指针成员 引言: 包括指针的类须要特别注意复制控制.原因是复制指针时.一个带指针成员的指针类 class HasPtr { public: HasPtr(int *p,int i):ptr(p),val(i) {} int *get_ptr() const { return ptr; } int get_val() const { return val; } void set_ptr(int *p) { ptr = p; } void set_val(int i) { val…
拷贝控制 --消息处理演示样例 说明: 有些类为了做一些工作须要对复制进行控制. 为了给出这种样例,我们将概略定义两个类,这两个类可用于邮件处理应用程序.Message类和 Folder类分别表示电子邮件(或其它)消息和消息所出现的文件夹,一个给定消息能够出如今多个文件夹中. Message上有 save和 remove操作,用于在指定Folder中保存或删除该消息. 数据结构: 对每一个Message,我们并非在每一个Folder中都存放一个副本,而是使每一个Message保存一个指针集(se…
拷贝控制 --复制构造函数.赋值操作符 引言: 当定义一个新类型时,须要显式或隐式地指定复制.赋值和撤销该类型的对象时会发生什么– 复制构造函数.赋值操作符和析构函数的作用!      复制构造函数:具有单个形參..对象的定义形式 对于类类型.初始化的复制形式和直接形式有所不同:直接初始化直接调用与实參匹配的构造函数.复制初始化式总是调用复制构造函数.[复制初始化首先使用指定构造函数创建一个暂时对象,然后复制构造函数将那个暂时对象复制到正在创建的对象!] //理解下列语句的差别 string n…
当一个类包含一个友元声明时,类与友元各自是否是模板是相互无关的.如果一个类模板包含一个非模板友元,则友元被授权可以访问所有模板实例.如果友元自身是模板,类可以授权给所有友元模板实例,也可以只授权给特定实例. 1. 一对一友好关系 类模板与另一个(类或函数)模板间友好关系的最常见形式是建立对应实例及其友元间的友好关系.例如,我们的 Blob 类应该讲 BlobPtr 类和一个模板版本的 Blob 相等运算符定义为友元. 为了引用(类或函数) 模板的一个特定实例,我们必须首先声明模板自身.一个模板声…
C++中函数是一种类型!C++中函数是一种类型!C++中函数是一种类型! 函数名就是变量!函数名就是变量!函数名就是变量! (---20160618最新消息,函数名不是变量名...囧) (---20160714最新消息,C++没有函数类型...囧) (---但是,我认为把它们当成类型和变量更容易理解!!!) 重要的事情要说三遍... 接 C++ Primer学习笔记(二) 类的构造函数 与类同名,且无返回类型. 同类的成员函数一样,也可以在类中声明,在类外定义. 格式: 类名(): 成员1(成员…
题外话:一工作起来就没有大段的时间学习了,如何充分利用碎片时间是个好问题. 接  C++ Primer学习笔记(一)   27.与 vector 类型相比,数组的显著缺陷在于:数组的长度是固定的,无法直接复制和赋值(Wrong:int arr2[]=arr1;),而且程序员无法知道一个给定数组的长度---没有size操作(但可以间接获取).     只有当性能测试表明使用 vector 无法达到必要的速度要求时,才使用数组.            没有所有元素都是引用的数组.        数组…
Java学习笔记——File类之文件管理和读写操作.下载图片 File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流.字节流.处理流) 5.以图片地址下载图片 文件和文件夹 相关函数  (boolean) mkdir() 创建此抽象路径名指定的目录  (boolean) mkdirs() 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录.  (boolean) delete() 删除此抽象路径名表示的文件或目录  (boolean) creat…
python学习笔记4_类和更抽象 一.对象 class 对象主要有三个特性,继承.封装.多态.python的核心. 1.多态.封装.继承 多态,就算不知道变量所引用的类型,还是可以操作对象,根据类型或对象的不同而表现出不同的行为.   这是一个简单的例子,add方法,,包装了一下 + 函数.这就是多态.不管参数是什么类型,使用add方法,都可以把他们+在一起. 封装,封装式对全局作用域中其他区域隐藏多余的信息.和多态相似但是不同的概念,使用对象而不知道其细节.多态是不知道对象引用了什么类型,而…
Java学习笔记之---类和对象 (一)类 类是一个模板,它描述一类对象的行为和状态  例如:动物类是一个类,动物们都有属性:颜色,动物们都有行为:吃饭 public class Dog { String name; String color; public void eat(){ System.out.println("吃饭"); } } (二)对象 对象是类的一个实例,有状态和行为.例如,一条狗是一个对象,它的状态有:颜色.名字:行为有:吃饭等 1.创建对象: 声明:声明一个对象,…