丰色日月
因为陌生,所以勇敢!
随笔- 2 文章- 0 评论- 0
博客园
首页
新随笔
联系
管理
订阅
2008年8月6日
类的对象中包含指针指向动态分配的内存资源代码示例
Code
1
class
CExample
2
{
3
public
:
4
CExample(
int
n)
5
{
6
if
(n
>
0
)
//
判断长度是否为0
7
{
8
pBuffer
=
new
char
[n];
9
nSize
=
n;
10
}
11
else
12
{
13
pBuffer
=
NULL;
14
nSize
=
n;
15
}
16
}
17
CExample(
const
CExample
&
other)
18
{
19
pBuffer
=
NULL;
//
防止赋值操作符中调用delete []pBuffer;出错
20
*
this
=
other;
21
}
22
CExample
&
operator
=
(
const
CExample
&
other)
23
{
24
nSize
=
other.nSize;
25
char
*
temp
=
new
char
[nSize];
26
memcpy(temp,other.pBuffer,nSize
*
sizeof
(
char
));
27
28
delete []pBuffer;
//
删除原指针指向内容
29
//
(将删除操作放在后面,避免自赋值的特殊情况下,内容的丢失)
30
pBuffer
=
temp;
31
return
*
this
;
32
}
33
~
CExample()
34
{
35
//
delete pBuffer;
//
两者都可以
36
delete []pBuffer;
37
pBuffer
=
NULL;
38
}
39
private
:
40
char
*
pBuffer;
//
类的对象中包含指针,指向动态分配的内存资源
41
int
nSize;
42
};
43
posted @
2008-08-06 12:02
丰色日月 阅读(13) |
评论 (0)
|
编辑
2007年12月29日
2007年最后一天上班
2007年最后一次上班,记念一下!用Office 2007修改
posted @
2007-12-29 17:40
丰色日月 阅读(10) |
评论 (0)
|
编辑
<
2008年9月
>
日
一
二
三
四
五
六
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
我的标签
留言簿
给我留言
查看留言
随笔分类
技术(1)
生活(1)
随笔档案
2008年8月 (1)
2007年12月 (1)
相册
aaa
收藏夹
技术文章
生活乐趣
最新评论
阅读排行榜
1. 类的对象中包含指针指向动态分配的内存资源代码示例(13)
2. 2007年最后一天上班(10)
评论排行榜
1. 2007年最后一天上班(0)
2. 类的对象中包含指针指向动态分配的内存资源代码示例(0)