看板Programming
标 题请教c++的this传回值
发信站KKCITY (Sat Nov 11 18:40:34 2006)
转信站ptt!ctu-reader!ctu-peer!news.nctu!netnews.chu!Leo.mi.chu!zoonews.ee.nt
因不知该如何显示出来,所以在这里询问,麻烦大家帮忙
c++可以有this与*this,而我现在想了解这两种的传回值
不知该怎麽写
附上这两个程式码,麻烦各位点破我的迷思,谢谢
#include <iostream>
#include <cstdlib>
using namespace std;
class Cal
{
int x;
public:
Cal(int n) { x = n; } //建立者函数
Cal calcSum(Cal obj) { //加法运算
x += obj.x; //x = x + obj.x
return *this; //传回(*this).x
}
};
int main() {
Cal a(100), b(200), c(0); //定义 a.x=100, b.x=200
c = a.calcSum(b); //计算 c.x = a.x + b.x
// cout<<"c :"<<c<<endl; //如何显示出 (*this).x ??
system("PAUSE");
return 0; //程式正常结束
}
第二个程式
#include <iostream>
#include <cstdlib>
using namespace std;
class Cal
{
int x;
public:
Cal(int n) { x = n; } //建立者函数
Cal *calcSum(Cal obj) { //加法运算
x += obj.x; //x = x + obj.x
return this; //传回this->x
}
};
int main() {
Cal a(100), b(200), c(0); //定义 a.x=100, b.x=200
c = a.calcSum(b); //计算 c.x = a.x + b.x
// cout<<"c :"<<c<<endl; //如何显示出 this->x ??
system("PAUSE");
return 0; //程式正常结束
}
--
┌─────◆KKCITY◆─────┐ ◢
◤ 听 KKBOX,
动态歌词紧紧跟着你
│ bbs.kkcity.com.tw │ \^_^ / ★ http://www.kkbox.com.tw ★
└──《From:218.169.118.107
》──┘ ◤ 唱片公司授权,音乐尽情下载
--