摘要: 1.MFC类库中,CObject类的析构函数是虚拟的,为什么MFC的编写者认为virtual destructors are necessary?例子:class CBase{public:~CBase(){....};};class CChild : public CBase{public:~CChild(){...};};main(){CBase *pBase;CChild c;pBase = &c;....return 0;}解:在这个例子里,所有对象都存在于堆栈中,当离开其所处的作用域时,该对象会被自动撤销,看是没有什么问题。但是试想,如果CChild类的构造函数在堆中分配内存 阅读全文
posted @ 2012-10-15 21:20 Rookie_h 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 在计算机程序中,数据的位是可以操作的最小数据单位,理论上可以用“位运算”来完成所有的运算和操作。一般的位操作是用来控制硬件的,或者做数据变换使用,但是,灵活的位操作可以有效地提高程序运行的效率。C语言提供了位运算的功能,这使得C语言也能像汇编语言一样用来编写系统程序。位运算符C语言提供了六种位运算符: &按位与 |按位或 ^按位异或 ~取反 <<左移 >>右移 1.按位与运算按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1,否则为0。参与运算的数以补码方式出现。 例如 阅读全文
posted @ 2012-10-15 11:15 Rookie_h 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 函数调用形式 说明fopen("路径","打开方式") 打开文件fclose(FILE*) 防止之后被误用fgetc(FILE*) 从文件中读取一个字符fputc(ch,FILE*) 把ch代表的字符写入这个文件里fgets(FILE*) 从文件中读取一行fputs(FILE*) 把一行写入文件中fprintf(FILE*,"格式字符串",输出表列) 把数据写入文件fscanf(FILE*,"格式字符串",输入表列) 从文件中读... 阅读全文
posted @ 2012-10-15 09:41 Rookie_h 阅读(117) 评论(0) 推荐(0) 编辑