- 博客(33)
- 收藏
- 关注
转载 构造函数定义为private,protected
将构造函数,析构函数声明为私有和保护的,那么对象如何创建?已经不能从外部调用构造函数了,但是对象必须被构造,应该如何解决,麻烦大家帮忙说明,关于构造,析构函数声明为私有和保护时的用法??? 提出这个问题,说明你已经对c++有所思考了。 从语法上来讲,一个函数被声明为protected或者private,那么这个函数就不能从“外部”直接被调用了。对于protected的函数,
2014-08-18 12:09:53
435
原创 重载流提取运算符
#include using namespace std;class Complex{public: Complex(){real=0;image=0;} Complex(int r,int i){real=r;image=i;} friend ostream& operator friend istream& operator>>(istream &,Comple
2014-08-13 10:30:38
430
原创 四次挥手
由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这个原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。(1)客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送(报文4)。(2)服务器B收到这个FIN,
2014-05-13 22:33:12
807
原创 C++队列实现的基本操作
#include #include #include using namespace std;typedef int elemType;typedef struct nodet //结点的结构{ elemType data; struct nodet *next;}node_t;typedef struct queuet //队列的结构
2014-04-11 22:06:07
3098
原创 this指针
在每一个成员函数中都包含一个特殊的指针,这个指针的名字是固定的,称为this。它是指向本类对象的指针,它的值是当前被调用成员函数所在的成员变量得起始地址。下面举个例子来说明一下:当调用成员函数a.volume时,编译系统会把a的起始地址赋给this指针,于是在成员函数引用数据成员时,就按照this的指向找到对象a的数据成员。this指针是隐式使用的,他是作为参数被传递给成员函数的,volu
2014-04-02 10:57:24
461
原创 拷贝构造函数(深拷贝和浅拷贝)
深拷贝和浅拷贝的定义可以简单理解成:如果一个类拥有资源(堆,或者是其它系统资源),当这个类的对象发生复制过程的时候,这个过程就可以叫做深拷贝,反之对象存在资源,但复制过程并未复制资源的情况视为浅拷贝。通过以下程序介绍一下拷贝函数:
2014-03-31 17:18:37
369
转载 迷途指针(又称为,悬浮指针或失控指针)
编程中有一种很难发现的错误是迷途指针。迷途指针也叫悬浮指针(失控指针),是对一个指针进行delete操作后并没有把它设置为空时产生的。在C++中,delete一个指针仅仅是释放它所指向的内存,即把这块内存区标明为可用,而不会改变指针所指向的地址值。而后,你如果没有重新赋值就试图再次使用该指针,引起的结果是不可预料的。根据前人的经验,在删除指针后小心不要再使用它。虽然这个指针仍然指向原来的内存区
2014-03-28 16:44:10
926
原创 C++中实际地址的计算
写出下面程序的运行结果:int a[3];a[0]=0;a[1]=1;a[2]=2;int *p,*q;p=a;q=&a[2];coutq表示a[2]的实际地址,p表示a[1]的实际地址,相差8。q-p的运算是:(q的地址-p的地址)/sizeof (int),即8/(sizeof(int))。
2014-03-25 17:49:49
830
原创 C中printf计算参数时是从右到左压栈的
以下代码的输出是什么?#includemain(){int b=3;int array[]={6,7,8,9,10};int *ptr=arr;*(ptr++)+=123;printf("%d,%d\n",*ptr,*(++ptr));}几个输出结果分别如下:printf("%d\n",*ptr);此时ptr应指向第一个元素6。*(ptr++)+=1
2014-03-23 21:36:18
643
原创 C++中,cin和gets()的区别
下面通过两个例子说明一下此cin和gets()区别:#includeusing namespace std;int main(){ char str[20]; cin>>str; cout return 0;}输入:abc[空格]abc输出:abc#includeusing namespace std;
2014-03-16 09:56:54
5247
原创 输入一个字符串内有数字和非数字字符,将连续的数字作为一个整数,存到数组a中,统计整数的个数,并输出这些数
#include using namespace std;int main(){ int statistic(char *,int *); char str[50],*pstr; int a[10],*pa,len; int m=0; pstr=str; pa=a; cout gets(str); cout len=strlen(str);
2013-10-11 22:37:54
5583
原创 指针作为函数参数
#include using namespace std;int main(){ void swap(int *,int *); int *pointer_1,*pointer_2,a,b; cin>>a>>b; pointer_1=&a; pointer_2=&b; if(a { swap(pointer_1,pointer_2); } co
2013-10-09 20:14:30
382
原创 C++读取txt中的数据到数组中
#include #include #include using namespace std;void main(){int i;double A[37];{FILE *fp;if((fp=fopen("D:\\1.txt","r"))== NULL){ printf("cannot open this file\n"); exit(0);}fo
2013-09-23 21:57:22
1060
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人