例如,在main函数中,我想获取用户的输入.根据输入,我将创建a Rectangle或a Circle,它们是子类Object.如果没有输入(或未知),那么我将只创建一个通用对象.
class Object
{
public:
Object();
void Draw();
private:
....
};
class Rectangle:public Object
{
public:
Rectangle();
.... //it might have some additional functions
private:
....
};
class Circle:public Object
{
public:
Circle();
.... //it might have some additional functions
private:
....
};
Run Code Online (Sandbox Code Playgroud)
主功能:
string objType;
getline(cin, objType);
if (!objType.compare("Rectangle"))
Rectangle obj;
else if (!objType.compare("Circle"))
Circle obj;
else
Object obj;
obj.Draw();
Run Code Online (Sandbox Code Playgroud)
当然,上面的代码不起作用,因为我不能在If语句中实例化一个对象.所以我试过这样的事情.
Object obj;
if (!objType.compare("Rectangle"))
obj = Rectangle();
else if (!objType.compare("Circle"))
obj = …Run Code Online (Sandbox Code Playgroud)