首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

回到有空间的新对象

2013-04-02 
返回有空间的新对象String S1(E汉汉汉EEe),S2S2 S1.ExtractEn()ExtractEn()方法返回的是从S1中提取的

返回有空间的新对象


String S1("E汉汉汉EEe"),S2;
S2= S1.ExtractEn();

ExtractEn()方法返回的是从S1中提取的英文,应该设计为返回String类型吧
然后重载等号操作符

我想知道接口是怎样的 我设计的出栈就无效了 如下

String String::ExtractEn()
{
   String s;
   //得到一个个字母拷贝给对象s
   return s;//但是通常动态大小的字符串类基于指针, "传拷贝"给等号泡汤了
}

如何在不修改主调对象自身的前提下返回一个对象
[解决办法]
这个是没有问题的,可能还是内部的代码有错,
如果真是传递结果不正确,十有八九是越界错误,破坏了堆栈数据。

[解决办法]
难道return的时候不会创建一个拷贝吗?
[解决办法]
应该实现拷贝构造函数吧。

热点排行