VC++6.0的BUG(续)
昨天发现的问题,有个更好的解决方法。那就是提前声明:
#include<iostream>using namespace std;
class Currency;ostream & operator<<(ostream &,const Currency &);
enum sign{plus,minus};class Currency{ friend ostream & operator<<(ostream &,const Currency &);public: Currency(sign...
VC++6.0的BUG
今天继续看书中,在练习的时候发现了以下的问题:
#include<iostream>using namespace std;
enum sign{plus,minus};
class Currency{ friend ostream & operator<<(ostream &,const Currency &);public: Currency(sign s=plus,unsigned long d=0,unsigned int c=0); ~Currency(){}
bool Set(sign s,unsig...
动态存储分配
关于动态存储分配,这里有一道很好的题目:
[推荐]看起来很简单的一道题
这道题实现了对一维数组的大小的改变。然后,还有一道改变二维数组大小的题目:
题目:
试编写一个函数ChangeSize2D 来改变一个二维数组的大小。上机测试该函数。
程序:
#include <iostream>using namespace std;
template<class T>void ChangeSize2D(T** &a,int rows,int cols,int ToRows,int ToCols){ if(rows==To...
引用
C++里新增加了引用的概念。引用的最大优点就是不占用更多的内存,这样也省去了传参时的复制值的操作。尤其是对数组形式的参数,或者迭代函数来说具有价值。
使用数组的引用,必须知道数组的大小。例如:void f(char (&list)[10]);
如果不知道数组的长度,那么只有使用指针引用。指针引用是一个可行的方法。不过,必须是按照下面的方式来使用:
void F(int* &a,int &n);
int main()
{
......
int* a;
......
...