简单c++程序解释

#include<iostream>usingnamespacestd;classMyclass{public:Myclass(intm){member=m;}~Mycl... #include<iostream>
using namespace std;
class Myclass
{public:
Myclass(int m)
{
member=m;
}
~Myclass(){}
int Getmember()
{
return member;
}
private:
int member;
};
Myclass Makeobject(int m)
{
Myclass *pMyclass=new Myclass(m);
return *pMyclass;
}
int main()
{
int x=7;

Myclass*myobj=&Makeobject(x);

cout<<"My object has member"<<(*myobj).Getmember()<<endl;
return 0;
}
中的Myclass Makeobject(int m)函数是什么函数?如果是类的函数则需加::来限制它,如果是普通函数怎么需要Myclass开头?
本人新手,求助。
此函数有什么用??
展开
 我来答
jack87918
2009-03-18 · TA获得超过2048个赞
知道小有建树答主
回答量:1618
采纳率:100%
帮助的人:1487万
展开全部
呵呵```
这个写这个程序的人可能是要故意把题目复杂化~
Myclass Makeobject(int m)
是一个含整型参数m,返回值为Myclass类类型的对象的函数,而里面的指针则是指向创建的这个对象.

意思就是:
首先--在函数Makeobject中定义对象--这个对象创建过程中,自动调用构造函数为对象初始化--用指针pMyclass指向这个对象.

然后看这一段--
int x=7; //对对象中构造函数的实参初始化
Myclass*myobj=&Makeobject(x);
//将指针pMyclass指向对对象赋给指针myobj.
最后调用类中的Getmember();实际上就是x,即7

就是这样!
井钰gQ
2009-03-18 · TA获得超过2480个赞
知道大有可为答主
回答量:1303
采纳率:0%
帮助的人:1521万
展开全部
Myclass Makeobject(int m)
{
Myclass *pMyclass=new Myclass(m);
return *pMyclass;
}

就是返回了一个堆上分配对象而已。
首先,你要明白,定义一个类,就是定义了一个新类型。
那么Myclass也就是一个新类型了。类似于内置类型。
这个函数的返回类型是Myclass而已。函数里new了一个该类的对象
并将该对象返回。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ckfan520
2009-03-18 · TA获得超过129个赞
知道答主
回答量:106
采纳率:0%
帮助的人:0
展开全部
哈哈,本题中Myclass在此处只是用于返回值而已,Makeobject(int m)返回是类型myclass,相当于(int)吧

此函数只是该类(声明)的一个实例。

如果不写该函数也是可以的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
niinor
2009-03-18 · TA获得超过2246个赞
知道小有建树答主
回答量:2047
采纳率:0%
帮助的人:1385万
展开全部
以Myclass开头,表示此函数的返回值是一个Myclass对象
就是在堆里新建一个Myclass对象,然后再将这个对象返回给调用此函数的调用者
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tangleiqin
2009-03-18 · 超过10用户采纳过TA的回答
知道答主
回答量:53
采纳率:0%
帮助的人:40.5万
展开全部
普通函数,返回类对象指针而已
有语法错误
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式