
简单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开头?
本人新手,求助。
此函数有什么用?? 展开
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开头?
本人新手,求助。
此函数有什么用?? 展开
5个回答
展开全部
呵呵```
这个写这个程序的人可能是要故意把题目复杂化~
Myclass Makeobject(int m)
是一个含整型参数m,返回值为Myclass类类型的对象的函数,而里面的指针则是指向创建的这个对象.
意思就是:
首先--在函数Makeobject中定义对象--这个对象创建过程中,自动调用构造函数为对象初始化--用指针pMyclass指向这个对象.
然后看这一段--
int x=7; //对对象中构造函数的实参初始化
Myclass*myobj=&Makeobject(x);
//将指针pMyclass指向对对象赋给指针myobj.
最后调用类中的Getmember();实际上就是x,即7
就是这样!
这个写这个程序的人可能是要故意把题目复杂化~
Myclass Makeobject(int m)
是一个含整型参数m,返回值为Myclass类类型的对象的函数,而里面的指针则是指向创建的这个对象.
意思就是:
首先--在函数Makeobject中定义对象--这个对象创建过程中,自动调用构造函数为对象初始化--用指针pMyclass指向这个对象.
然后看这一段--
int x=7; //对对象中构造函数的实参初始化
Myclass*myobj=&Makeobject(x);
//将指针pMyclass指向对对象赋给指针myobj.
最后调用类中的Getmember();实际上就是x,即7
就是这样!
展开全部
Myclass Makeobject(int m)
{
Myclass *pMyclass=new Myclass(m);
return *pMyclass;
}
就是返回了一个堆上分配对象而已。
首先,你要明白,定义一个类,就是定义了一个新类型。
那么Myclass也就是一个新类型了。类似于内置类型。
这个函数的返回类型是Myclass而已。函数里new了一个该类的对象
并将该对象返回。
{
Myclass *pMyclass=new Myclass(m);
return *pMyclass;
}
就是返回了一个堆上分配对象而已。
首先,你要明白,定义一个类,就是定义了一个新类型。
那么Myclass也就是一个新类型了。类似于内置类型。
这个函数的返回类型是Myclass而已。函数里new了一个该类的对象
并将该对象返回。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
哈哈,本题中Myclass在此处只是用于返回值而已,Makeobject(int m)返回是类型myclass,相当于(int)吧
此函数只是该类(声明)的一个实例。
如果不写该函数也是可以的
此函数只是该类(声明)的一个实例。
如果不写该函数也是可以的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
以Myclass开头,表示此函数的返回值是一个Myclass对象
就是在堆里新建一个Myclass对象,然后再将这个对象返回给调用此函数的调用者
就是在堆里新建一个Myclass对象,然后再将这个对象返回给调用此函数的调用者
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
普通函数,返回类对象指针而已
有语法错误
有语法错误
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询