写c++程序时我们经常会把函数的定义写在xxx.h中,把函数的实现写在xxx.cpp, 但是当我们写带模版的函数和类时,这样写
就会出现问题,如下:
stack.h
//stack.h
#ifndef STACK_HPP
#define STACK_HPP
#include
#include
template>
class CStack
{
public:
void push(co...
分类:
其他好文 时间:
2014-07-13 18:30:56
阅读次数:
214
一、“经典模型”的失效
我们学过C++的人都知道,在C++中组织代码的经典模型是:将函数或类的声明和定义部分分开在不同的文件之中 ,
即一般将声明放在一个.h的头文件中而定义在放在一个.cpp文件之中,当然这的确是写代码的一种很优良的风格,但问题
是如果将这种“经典模型”应用到模版上时就会发生连接上错误。
例如:
文件“A.h”
#include"iostream"
using...
分类:
编程语言 时间:
2014-07-13 18:22:09
阅读次数:
275
圆圈中最后剩下的数字(循环链表) 代码(C++)本文地址: http://blog.csdn.net/caroline_wendy题目: 0,1...,n-1这n个数字排成一个圆圈, 从数字0开始每次从这个圆圈里删除第m个数字.求出这个圆圈里最后剩下的数字.使用循环链表, 依次遍历删除, 时间复杂度O(mn), 空间复杂度O(n).代码:/*
* main.cpp
*
* Created ...
分类:
编程语言 时间:
2014-07-13 16:15:24
阅读次数:
226
n个骰子的点数(递归) 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 把n个骰子仍在地上, 所有骰子朝上一面的点数之和为s. 输入n, 打印出s的所有可能的值出现的概率.采用递归的方法, 可以假设只有一个骰子, 然后骰子数递增相加.代码:/*
* main.cpp
*
* Created on: 2014.7.12
* Au...
分类:
其他好文 时间:
2014-07-12 23:25:30
阅读次数:
224
翻转单词顺序 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 输入一个英文句子, 翻转句子中单词的顺序, 但单词内字符的顺序不变.首先翻转(reverse)整个句子, 然后查找空格, 如遇到空格, 则翻转前面的单词, 或遇到结束符, 同样进行翻转.代码:/*
* main.cpp
*
* Created on: 2014.6.12
* ...
分类:
其他好文 时间:
2014-07-12 22:56:00
阅读次数:
328
n个骰子的点数(非递归) 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 把n个骰子仍在地上, 所有骰子朝上一面的点数之和为s. 输入n, 打印出s的所有可能的值出现的概率.每次骰子的循环过程中, 本次等于上一次n-1, n-2, n-3, n-4, n-5, n-6的次数的总和.代码:/*
* main.cpp
*
* Created ...
分类:
其他好文 时间:
2014-07-12 22:49:18
阅读次数:
269
扑克牌的顺子 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 从扑克牌中随机抽取5张牌, 判断是不是一个顺子, 即这5张牌是不是连续的.2~10为数字本身, A为1, J为11, Q为12, K为13, 而大小王可以看成任意数字.排序, 判断字符串之间的间隔数, 如果小于等于大小王的数量, 则是连续, 否则不是.代码:/*
* main.cpp...
分类:
其他好文 时间:
2014-07-12 22:48:42
阅读次数:
425
和为s的两个数字 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 输入一个递增排序的数组和一个数字s, 在数组中查找两个数, 使得它们的和正好是s.如果有多对数字的和等于s, 输出任意一对即可.排序数组, 则可以从两端开始进行查找, 当和大于时, 则减少前端, 当和小于时, 则递增尾端.代码:/*
* main.cpp
*
* Creat...
分类:
其他好文 时间:
2014-07-12 21:15:56
阅读次数:
206
//定义结构
Box.h:
#ifndef BOX_H
#define BOX_H
struct Box{
double length;
double width;
double height;
double volume();
};
#endif
//定义volume方法
t1.cpp:
#include "box.h"
double Box::volume(...
分类:
编程语言 时间:
2014-07-12 17:25:50
阅读次数:
152
左旋转字符串 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部.请定义一个函数实现字符串左旋转操作的功能.编程珠玑, 首先翻转前部分, 再翻转后部分, 最后全部翻转.代码:/*
* main.cpp
*
* Created on: 2014.6.12
* Autho...
分类:
其他好文 时间:
2014-07-12 17:06:43
阅读次数:
182