今天在看C++ Primer第7章,一个习题是要写两个类,一个是Screen类,一个Window_mgr类,其中,Window_mgr类包含有一个vector类型的成员 和一个clear函数,用于操作Screen类,所以需要把clear函数声明为Screen类的友元函数,这样就需要在定义Screen类的头文件中包含Window_mgr类的头文件,同理也需要在Window_mgr类中包含Screen...
分类:
编程语言 时间:
2015-07-31 01:32:01
阅读次数:
178
1、运算符重载,可以重载为友元函数,也可以重载为成员函数,只是调用的方式不一样。(语法上没有问题,只是调用的时候不太顺手)2、++,--有前置和后置之分,重载的方式略不相同3、重载的运算符,其参数必须包含用户自定义的类,而不全是内置类型。(否则内置类型在系统内部的运算会受到影响)
分类:
其他好文 时间:
2015-07-30 23:14:02
阅读次数:
136
原文链接:http://blog.chinaunix.net/uid-20665441-id-305468.html友元提供了不同类或对象的成员函数之间、类的成员函数于一般函数之间进行数据共享的机制。通过友元,一个普通函数或者类的成员函数可以访问到封装于某一类中的数据,友元函数可以通过对象名访问类的...
分类:
其他好文 时间:
2015-07-29 11:55:42
阅读次数:
140
静态成员函数与友元函数的区别只是作用域不同:友元函数具有全局性,不慎使用可能会造成函数同名冲突;静态成员函数属于该类的作用域下。1、静态成员函数的地址可用普通函数指针存储,而普通成员函数地址需要用类成员函数指针来存储
分类:
其他好文 时间:
2015-07-27 22:46:46
阅读次数:
112
一、友元 类并非只能拥有友元函数,也可以将类作为友元。在这种情况下,友元类的所有方法都可以访问原始类的私有成员和保护成员。另外,也可以做更严格的限制,只将特定的成员函数指定为另一个类的友元。哪些函数、成员函数或类为友元是由类定义的,而不能从外部强加友情。因此,尽管友元被授予从外部访问类的私有部分的....
分类:
编程语言 时间:
2015-07-25 12:15:11
阅读次数:
155
1.友元函数的定义;2.运算符重载;3.内存关机机制;4.动作侦听;5.单点触摸;6.触摸目标判断;7.事件传递;8.多点触摸;9.加速传感器;10.物理按键交互;11.绘图API绘制几种图形;12.计时器首选项数据读取;13.文件读写,plist文件操作;15.xml数据操作,json数据操作;1...
分类:
其他好文 时间:
2015-07-19 16:15:22
阅读次数:
116
多态:允许将子类类型的指针赋值给父类类型的指针。赋值以后,父类对象可以根据当前赋值给它的子类对象的特性以不同的方式运作。深拷贝:重新分配内存;浅拷贝:共用同一内存。友元:非成员函数不能通过类的对象访问私有成员,但是友元(函数)可以;友元函数却不是成员函数,但必须在类中声明;类与类之间的友元关系不能被...
分类:
编程语言 时间:
2015-07-15 16:38:34
阅读次数:
126
我们知道,C++中的运算符重载有两种形式:①重载为类的成员函数(见C++运算符重载(成员函数方式)),②重载为类的友元函数。当重载友元函数时,将没有隐含的参数this指针。这样,对双目运算符,友元函数有2个参数,对单目运算符,友元函数有一个参数。但是,有些运行符不能重载为友元函数,它们是:=,(),...
分类:
编程语言 时间:
2015-07-10 22:05:29
阅读次数:
133
一.一般形式返回类型 operator 操作符 (参数列表)二.成员函数or友元函数?大部分运算符重载函数既可以是成员函数,也可以使友元函数。使用友元函数的形式如下: friend 返回类型 operator 操作符 (参数列表) eg: 成员函数:Int operator + (...
分类:
其他好文 时间:
2015-07-10 18:23:58
阅读次数:
111