| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1779 人关注过本帖
标题:请教两个题目
只看楼主 加入收藏
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
以下是引用song4在2006-6-17 18:40:11的发言:
LZ,记住这点.
类有自己的类域
跟外面一点关系也没有.
这里你char*一个指针
确实给了这个指针的地址,而这个地址也在类域里
但是它没有给这个指针所指向的地址.
也就是说,指针本身的地址分配了,4个字节.
但是它指向NULL这个任何域都公有的东西.
所以你需要显示的new给它空间
而一般的情况,数据区会做好这一切.也就是分配给它所指的空间

哦哦,好象楼主没有碰到这个问题.但是我要提醒的是,不管你写没写NULL
这里都不会给他分配空间,需要自己写


嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-06-17 18:48
心动音符
Rank: 1
等 级:禁止访问
威 望:1
帖 子:832
专家分:0
注 册:2005-9-15
收藏
得分:0 
哦 我有所了解了 万分感激啊

2006-06-17 19:22
weiweiqiao
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2005-7-29
收藏
得分:0 

提个意见:)
我认为在teacher类中的teacher(student &s)还是写成我这样好:)不会与形参&s指向同一个指针:)安全:)
teacher(student &s)
{
num = s.num;
int tempNum = strlen(s.name);
name = new char[tempNum + 1]
strcpy(name,s.name);
tempNum = strlen(s.sex);
sex = new char[tempNum + 1];
strcpy(sex,s.sex);
}
析构中应当delete。。。:)
其实还应当重写复制构造函数和和赋值操作符。因为这些都会产生bug:)
欢迎大家批评,指正,相互学习:0)


maCr.Qw
2006-06-19 10:44
CNick
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-5-16
收藏
得分:0 
你用的是什么环境啊?

Grant me the Serenity to accept the thing.Follow your own course,and let people talk~it\'s my turn!
2006-06-19 13:37
快速回复:请教两个题目
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018179 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved