member objects除了string以外,还包含哪些类型?

fangrk 2001-11-09 09:43:42
...全文
99 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
fangrk 2002-07-04
  • 打赏
  • 举报
回复
平均给分!
fangrk 2002-07-04
  • 打赏
  • 举报
回复
平均给分!
chxr 2001-11-09
  • 打赏
  • 举报
回复
请教请教:第三个似乎应该是name="fangrK"吧。。错了么。。是什么原因呢。
fangrk 2001-11-09
  • 打赏
  • 举报
回复
class T{
public:
T(int):name("fangrk"){age=25;}//1 OK
T(float):name("fangrk"),age(25){}//2 OK
T(){string="fangrk";age=25;}//3 ERROR
private:
int age;
string name;
}
constructor定义式的第二种初始化语法,是所谓的member initialization list
为了将name的初值传给string constructor,必须以member initialization list完成(《Essential C++》p106)
San_Daniel 2001-11-09
  • 打赏
  • 举报
回复
看不懂,什么是member object
chxr 2001-11-09
  • 打赏
  • 举报
回复
不能?为什么不能呢。这本书我没有。不知道他是怎么说的。我想他的大概意思
是在进入派生类的ctor之前必须让成员对象得到初始化。可以如果有default ctor的话
就不存在这个问题呀。。
fangrk 2001-11-09
  • 打赏
  • 举报
回复
不好意思,写错了,应该是T(){name="fangrk";age=25;}
奇怪,上午试了一下有错误,现在试试又对了!
错误的原因大概string属于member object,不能用上述的方法初始化的,《Essential C++》p106写得清清楚楚的;但是我的borland c++ compiler 5却支持!

70,033

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧