如何根据条件判断,生成类的对象呢?if(FALSE) card50 card;if(TRUE) card100 card;card.function()…… 想通过一个判断来生成一个基类不同的对象,感觉这样没问题啊,可是总是到第三行时提醒card没定义想不
来源:学生作业帮助网 编辑:作业帮 时间:2024/05/13 15:19:17
如何根据条件判断,生成类的对象呢?if(FALSE) card50 card;if(TRUE) card100 card;card.function()…… 想通过一个判断来生成一个基类不同的对象,感觉这样没问题啊,可是总是到第三行时提醒card没定义想不
如何根据条件判断,生成类的对象呢?
if(FALSE) card50 card;
if(TRUE) card100 card;
card.function()……
想通过一个判断来生成一个基类不同的对象,感觉这样没问题啊,可是总是到第三行时提醒card没定义
想不通这是为什么
开始我是这样写的:
if(FALSE)
{
card50 card;
}
else
{
if(TRUE) card100 card;
}
////////////////////////////
查了一下,说变量的生命周期是以{}为准的,我改了,结果还是不行.
是哪里出错了?请指点一下
不说意思,忘了说语言了,是C++
card50,card100都 是定义好了的类.
这样写:
card50 card;
card.function()……
或者这样写:
card100 card;
card.function()……
是都没有问题的.
---------------
不是来踢馆的.当时是百度到一个问题,然后就直接开始发问,没有选类别.
不过这个问题我解决了:
C++里必须要用对象指针才行的.我自己已经解决了.
谢谢大家
如何根据条件判断,生成类的对象呢?if(FALSE) card50 card;if(TRUE) card100 card;card.function()…… 想通过一个判断来生成一个基类不同的对象,感觉这样没问题啊,可是总是到第三行时提醒card没定义想不
因为你的card是在if里定义的,所以他只是一个if代码块的局部变量,当你的程序执行出if代码块的时候,card变量就作废了,所以当然提示找不到了