07 2013 档案
摘要:1234567891011121314151617181920 classBase{public: inta; charb;};classDerived : publicBase{public: chard;};intmain(){ cout << sizeof(Base) << endl; //8 cout << sizeof(Derived) << endl; //12 return...
阅读全文
摘要:先调用基类构造函数,再调用派生类构造函数 123456789101112131415161718 classBase{public: Base() { cout << "Base()" << endl;}};classDerived : publicBase{public: Derived() { cout << "Derived()" << endl;}};intmain(){ Der...
阅读全文
摘要:EFfective C++和More Effective C++中有讲解。“条款23: 必须返回一个对象时不要试图返回一个引用”“条款31: 千万不要返回局部对象的引用,也不要返回函数内部用new初始化的指针的引用”为什么要返回引用呢——为了实现链式操作。返回一个对象不行吗?为什么有时要返回引用呢?主要是为了实现链式操作。看一个例子就明白了:1234567891011121314151617181920MyString& MyString::operator =(constMyString &other) { /*if (this != &other) { size =
阅读全文
摘要:http://blog.sina.com.cn/s/blog_6022bf2d0100fz89.html http://www.cnblogs.com/BLoodMaster/archive/2010/03/01/1675856.html 我们按照模式所关心的主要问题可以把模式大致分为三类:1.创建模式(此类模式主要关注对象的产生因此我们把它们分为一类)2.结构模式(此类模式主要关心类和对象的组合...
阅读全文
摘要:C_C++_XY_05.四则运算表达式求值 题目描述: 实现一个正整数加、减、乘、除四则混合运算求值方法 条件限定: 1、 输入的四则运算式由'+','-','*','/'运算符及正整数组成; 2、 无需考虑特殊字符,及除不尽的情况; 3、 无需考虑运算符的优先级,加减乘除优先级一样,仅按照自左至右的顺序依次计算; 4、 当遇到除数为0时,即刻返回当前已计算结果。 要求实现函数:...
阅读全文
摘要:void vConvertMsg(char *pInputStr, long lInputLen, char *pOutputStr); 1.pOutputStr无需在函数中申请内存。 2.注意pOutputStr最后要加'\0'. 3.可以再func.cpp中再添加其他子函数。 4.lInputLen在函数中并不必须被使用,可以使用'\0'判断pInputStr是否到达字符串尾。 5....
阅读全文
摘要:C_C++_WY_01. 字符倒叙输出 题目描述: 编写一个函数,将字符串中的每个单词的倒序输出,字符串中以空格分割各个单词,如果碰到数字则跳过。 要求实现函数: void vConvertMsg(char *pInputStr, long lInputLen, char *pOutputStr); 【输入】 char *pInputStr:指向一个字符串的指针 long lInpu...
阅读全文
摘要:12345678910111213141516 intmain(){ char str1[] = "1234"; cout << sizeof(str1) << endl; //5 char str2[6] = "1234"; cout << sizeof(str2) << endl; //6 int array1[] = {1,2,3,4}; cout << sizeof(array1...
阅读全文
摘要:C_C++_WY_01. 统计排序 题目描述: 编写一个函数,计算出字符串中各种字母(a~z,A~Z)的个数,AABB输出A2B2,aabbCCAAA输出A3C2a2b2,输出结果需要按照字母排序(大写的比小写的排在前面) 要求实现函数: void vConvertMsg(char *pInputStr, long lInputLen, char *pOutputStr); 【输入】 ...
阅读全文
摘要:C_C++_XY_01.整理数字字符串 题目描述: 输入一个包含若干整数的字符串,负数前面带有负号‘-’,正数不带‘+’,每个整数都是个位数。 请将此串进行如下整理: 1、 将串中的正负数分离,使得负数在前,正数在后; 2、 分离后的正负数分别保持在原串中的相对顺序不变; 3、 输出参数为整理后的字符串。 当输入串格式非法,不作处理,直接输出原有字符串。 要求实现函数: void...
阅读全文
摘要:C_C++_XY_03.求最小张数换零钱算法 题目描述: 假设1元,5元,10元,50元,100元的人民币若干,实现一个能找到最少张数累计达到一个指定金额方法。 如:67元,可分为67个1元钱。也可分为6个10元7个1元 其中最少人民币分法为一张50元,一张10元,一张5元,两张1元,五张不同金额的拆分方法为最最少张数拆分法 要求实现函数: void CalLeastChange(lo...
阅读全文
摘要:C_C++_XY_08.拼写检查程序 题目描述: 请设计一个自动拼写检查函数,对输入单词的错误依据字典进行修正。 1. 输入为一个单词和一组字典单词,每个单词长度不超过9位; 2. 若字典中没有与输入相同的单词,认为输入单词错误,需要从字典中选择一个修正单词; 3. 修正要求:与输入单词长度相同,且单词中不同字符数最少; 4. 存在多个修正单词时,取字典中的第一个; 5. 输出修正后...
阅读全文
摘要:http://www.cppblog.com/mydriverc/articles/33991.html 12345678910111213 intmain(){ string str = "0101"; bitset b1(str); bitset b2(5); cout << b2[3] << endl; cout << b2[2] << endl; cout << b2[1] <...
阅读全文
摘要:C_C++_XY_09.数字字符串转二进制 题目描述: 输入一个三个数字的字符串,请将此串进行如下整理: 将字符串转换成数字,转换为二进制数,如果倒数第三位是“0”,则输出“0”,如果是“1”,则输出“1”。 比如,输入字符串“240”,转换为二进制为“11110000”,它的倒数第三位是“0”,所以输出是“0”. 要求实现函数: void ArrangeString(const ch...
阅读全文
摘要:C_C++_BJH_01. Capitalize the First Letter Description: Design a function that meets the following requirements: l Capitalize the first letter of each word in a character string. l If the first let...
阅读全文
摘要:C_C++_WP_04. Remove Particular Elements in an Array Description: Input an array, in which each element must be greater than 0 and less than 999. Then, remove following elements: l Elements that can...
阅读全文
摘要:C_C++_XY_03. 求两个数之间的素数 题目描述: 题目描述:给2个数,求这两个数字之间的素数个数,并将素数的个数返回,将求出的素数输出至pOut中。 对于如下函数即求[pInput[0], pInput[1]]之间的素数,将得到的素数输出至pOut中,返回素数的个数。 认为只能够被1和它本身整除的数字是素数。 要求实现函数: int vDecode(int* pInput, i...
阅读全文
摘要:123456789101112131415161718192021 intmain() { int num = 7; int stopNum = sqrt(num); if (num stopNum) { cout << "素数" << endl; } return 0;} 为什么是sqrt(num)终止呢,因为一个合数可以是若干个质数的乘积,而且这若干个质数中至少有一个质数不...
阅读全文
摘要:使用位域的主要目的是压缩存储,其大致规则为: 1) 如果相邻位域字段的类型相同,且其位宽之和小于类型的sizeof大小,则后面的字段将紧邻前一个字段存储,直到不能容纳为止; 2) 如果相邻位域字段的类型相同,但其位宽之和大于类型的sizeof大小,则后面的字段将从新的存储单元开始,其偏移量为其类型大小的整数倍; 3) 如果相邻的位域字段的类型不同,则各编译器的具体实现有差异,VC6采取不压缩方式,...
阅读全文
摘要:位域的定义 struct data { unsigned short flaga:1; unsigned short flagb:3; char flagc:5; }; 1、1/3/5指的是二进制位数,即比特数,而不是字节数。 2、位域的类型只能是整型或字符型。如下面是不正确的 struct data{ unsigned short flaga :1; unsigned short fla...
阅读全文
摘要:冒泡排序每次从头开始(每次结束可以不到最后,因为上一次已经确定最大值在末尾了),比较相邻两个数,每次下沉一个最大值。123456789101112131415161718192021222324252627282930313233343536#includeusingnamespace std;voidbubbleSort(int a[], int length){ bool swapFlag; for (int i = 1; i a[j+1]) { swapFlag = true; swap(a[j], a[j+1]); } } if (swapFlag == false) { break.
阅读全文
摘要://============================================================================// Name : 希尔排序.cpp// Author : Lucas// Version :// Copyright : http://www.cnblogs.com/vestinfo/// Descrip...
阅读全文
摘要:#includeusingnamespacestd;classTest{public: intstra; staticintsta;//静态数据成员并不会介入对象内存布局。 intstrb; intstrc;};intTest::sta=1;intmain(){ inta; intb; intc; Tests; cout *freeList; private: float y; static co...
阅读全文

浙公网安备 33010602011771号