摘要: 一、重载class Base{public: void fun(float f) { cout fun(3.14f);}上述程序本意是利用C++多态性,用指向base的指针调用Derived的对象的函数,但是事与愿违,没有实现功能。原因是Derived类中的void fun(int f) 参数类型是int,与基类不同,被识别成不同的函数。所以,要利用多态性,需要函数名和参数列表相同,当然,这个时候返回值也必须相同,否则报错(函数名和参数列表相同则被认为是同一函数)。三、多态的形式,伪多态class Base{public: virtual void ... 阅读全文
posted @ 2013-11-04 16:33 犹大之欲 阅读(372) 评论(0) 推荐(0)
摘要: VC++6.0下的结果int i = 8;printf("%d\n%d\n%d\n%d\n%d\n%d\n",++i,--i,i++,i++,-i++,--i);结果如下:7 6 7 7 -7 7知识点:1.函数的参数运行方式是从右向左2.i++,i--充当函数实参时,加或者减是在函数调用的下一条语句。即在printf语句之后加上一句printf("i的当前值为%d", i);则输出结果为10(加4次减2次)详细说明如下:printf参数从右向左运算,“--i”,i=8-1=7,结果为7,"-i++",结果为-8,++效果在下句生效, 阅读全文
posted @ 2013-10-15 17:51 犹大之欲 阅读(275) 评论(0) 推荐(1)
摘要: VC++6.0下的结果int i;i = 5;int j1 = ++i;i = 5;int j2 = ++i + ++i;i = 5;int j3 = ++i+++i+++i;i = 5;int j4 = ++i+++i+++i+++i;...j1、j2、j3、j4的值分别是6=5+1、14=7+7、22=7+7+8、31=7+7+8+9。1.j1就是5+1。2.关于j2,从左往右看,++i先起作用,i=5+1=6,运行到加号时,由于加号的右值是表达式,所以先算出表达式的值再进行加法运算,++i,i=6+1=7,此时,由于加号左边也是i,所以,它的值也变为7,两个7相加,得到结果14。3.关于 阅读全文
posted @ 2013-10-15 16:52 犹大之欲 阅读(422) 评论(0) 推荐(1)
摘要: 当你创建和执行你的查询,从expression到相应的SQL,有几个步骤: 1.Create expression tree(创建表达树) 2.Convert it to SQL(转换SQL) 3.Run the query(运行查询) 4.Retrieve the data(找回数据) 5.Convert it to the objects(转换为对象)注意:使用查询时,第一和第二步是最耗费时间.而已编译查询就是为了减少同类查询中的这种损耗。使用CompiledQuery的时机:The query will be executed more than once, varying only b 阅读全文
posted @ 2013-08-05 09:56 犹大之欲 阅读(179) 评论(0) 推荐(0)