我是c++初学者,哪位高手能帮我解释一下下面的语句吗?都已经注释在程序上面了;

2024-12-16 12:56:29
推荐回答(3个)
回答1:

1、static example* greateobject(int xp) 这句是什么意思?

通过值传递xp,创建一个example实例,返回指向这个实例的指针。

2、static void deleteobject(example*pe) //这个函数与上面一个函数相比为什么这边在void后面没有example?????
没有example是因为这个函数只是用来删除pe指向的example的实例,无需返回一个example类的实例指针,删除了还指向谁啊,对吧。

3、example *pexample=example::greateobject(5); //这句是什么意思?
通过上面的静态方法值传递(5)来创建example的实例,并且用指针p来指向这个实例,以便以后使用它。

4、example::deleteobject(pexample);这句是什么意思?
使用完自己创建的实例后,通过自己定义的静态的删除实例的方法,由于上面实例是自己动态申请的,所以这里自己再删除它,是分内之事了哈。

回答2:

example::deleteobject(pexample);这句是什么意思?

static void deleteobject(example*pe)

是静态方法, 可以由类直接调用的

这话的意思是说调用example的deleteobject方法,销毁(析构)掉pexample指针所指向的example对象

回答3:

public:
static example* greateobject(int xp) 这句是什么意思?
{
return new example(xp);
}

你打错字了,应该是createobject 这里是创建一个example对象的意思,那么他的返回类型当然应该是 example* 所以这里是要有一个example* 返回值可以方便你以后调用这个产生的对象

这话的意思是说调用example的deleteobject方法,销毁(析构)掉pexample指针所指向的example对象

既然椒销毁就不用返回类型啦,删除了的东西还要返回值干嘛呢?你都不要它了,才会删除它的嘛。