| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2169 人关注过本帖
标题:在c++类中怎么写一个返回值是自身非引用类型的成员函数
只看楼主 加入收藏
蓝天绿水
Rank: 2
等 级:论坛游民
威 望:1
帖 子:24
专家分:29
注 册:2017-9-16
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:4 
在c++类中怎么写一个返回值是自身非引用类型的成员函数
class test
{
    char *name;
public:
    test fun(test const &other);//这个函数怎么写 我想将other中的name的值传递给当前调用的对象,其他的方式我会写,但是这个函数的实现应该怎么写
};
搜索更多相关主题的帖子: c++ 类中 成员 函数 test 
2018-03-11 18:51
Jonny0201
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:52
帖 子:488
专家分:2603
注 册:2016-11-7
收藏
得分:20 
test func(test const &other) {
    this->name = other.name;
    return *this;
}
2018-03-12 18:47
蓝天绿水
Rank: 2
等 级:论坛游民
威 望:1
帖 子:24
专家分:29
注 册:2017-9-16
收藏
得分:0 
嗯嗯,明白了
那如果写成友元函数应该怎么实现呢?
friend test fun(test const &other);
2018-03-13 20:38
蓝天绿水
Rank: 2
等 级:论坛游民
威 望:1
帖 子:24
专家分:29
注 册:2017-9-16
收藏
得分:0 
嗯嗯,明白了
 那如果写成友元函数应该怎么实现呢?
friend test fun(test const &other);
test func(test const &other)
{
     this->name = other.name;
     return *this;
}
这样写诗错的,在析构中间的临时变量时出错
但是返回值是引用类型时就是正确的,向下面这样就是OK的
friend test &fun(test const &other);
test &func(test const &other)
{
     this->name = other.name;
     return *this;
}
2018-03-13 21:13
蓝天绿水
Rank: 2
等 级:论坛游民
威 望:1
帖 子:24
专家分:29
注 册:2017-9-16
收藏
得分:0 
我知道了,是拷贝构造函数的原因
2018-03-13 21:42
快速回复:在c++类中怎么写一个返回值是自身非引用类型的成员函数
数据加载中...
 
   



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

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