Typedefint(*healthcalcfunc)(constgamecharacter&)当一个成员函数被声明为虚函数后,其派生类中的同名函数都自动成为虚函数。因此,在子类从新声明该虚函数时,可以加,也可以不加,但习惯上每一层声明函数时都加virtual,使程序更加清晰。友元函数构造函数sta...
分类:
其他好文 时间:
2014-08-20 19:30:42
阅读次数:
210
/**
* 功能:友元
* 时间:2014年8月20日16:13:42
* 作者:cutter_point
*/
/*
*编译器知道如何传递一个地址,这一个地址具有固定的大小,而不管被传递的是什么对象
*然而试图传递整个对象的话,那么编译器就必须知道X的全部定义以确定他的大小以及如何
*传递,所以程序就无法声明一个类似于Y::g(X)的函数,所以下面的f(X*)函数必须是指针
*/
struct...
分类:
编程语言 时间:
2014-08-20 16:20:12
阅读次数:
173
友元函数,友元类,友元成员函数以及共同友元的介绍及使用。
分类:
编程语言 时间:
2014-08-17 00:58:11
阅读次数:
315
成员函数和非成员函数最大的区别在于成员函数可以是虚拟的而非成员函数不行。所以,如果有个函数必须进行动态绑定(见条款38),就要采用虚拟函数,而虚拟函数必定是某个类的成员函数。如果函数不必是虚拟的,情况就稍微复杂一点。看下面表示有理数的一个类:class rational {public: rati....
分类:
其他好文 时间:
2014-08-14 15:58:38
阅读次数:
185
C++:友元1(两点之间的距离)时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte总提交:674 测试通过:457描述定义一个二维平面中的点(point)类,类中的数据成员为点的坐标,然后定义友元函数dist()用来计算...
分类:
其他好文 时间:
2014-08-14 00:49:17
阅读次数:
251
操作符的重载有一定的规则,而IO操作符必须重载为普通函数,且应该声明为类的友元函数。我试了,非友元也可以,但是必须提供访问成员变量的函数,所以,出于效率的考虑还是应该定义为友元。规则如下:1. 重载操作符必须具有一个类类型或枚举类型操作数。这条规则强制重载操作符不能重新定义用于内置类型对象的操作符的...
分类:
编程语言 时间:
2014-08-12 18:10:44
阅读次数:
272
本文试图解释c++ primer Screen 和 Window_Mgr的例子,为什么将两个类放在两个文件中无法编译?将两个类写在同一个文件中,通过三个例子解释问题:第一种写法问题:编译到Screen时,由于Screen类使用到Window_Mgr的成员函数,虽然前面给出了Window_Mgr的声明...
分类:
数据库 时间:
2014-08-10 18:29:40
阅读次数:
253
一、C++类的访问控制有三类:public,protected和private。
类访问控制符
类成员可被哪些对象访问
public
1、类的成员函数。2、类对象。3、友元。4、子类成员函数
protected
1、类的成员函数。2、友元。3、子类成员函数
private
1、类的成员函数。2、友元
二、C++类...
分类:
编程语言 时间:
2014-08-09 18:50:58
阅读次数:
196
当将一个类A的成员函数A::F设置成类B的友元时,需要预先定义类A,否则不能将A::F指定为友元。而在定义B之后,才能定义A::F,因为A::F被设为 友元正是为了访问类B的成员函数。所以,可以按照如下的顺序:声明类B定义类A,声明但不实现A::F定义类B,设置A::F为友元实现A::F下面是一个例...
分类:
其他好文 时间:
2014-08-08 20:59:56
阅读次数:
276
关于继承,之前一直使用的是public,于是查了点资料1private, public, protected 访问标号的访问范围private:只能由1.该类中的函数、2.其友元函数访问。不能被任何其他访问,该类的对象也不能访问。protected:可以被1.该类中的函数、2.子类的函数、3.其友元...
分类:
编程语言 时间:
2014-08-07 18:01:00
阅读次数:
181