我遇到了多态性问题,我已经设置了这些基本类,稍后将添加方法,但我希望可以从这些类中访问不同的数据成员。
class square
{
public:
bool canBeBought;
string name;
};
class property : public square
{
public:
int rent;
int colour;
int cost;
bool bought;
};
class specialSquare : public square
{
private:
public:
};
这是我正在调用的代码
square* properties[23];
for(int i = 0; i < 23; i++)
{
if(propertyStrings.at(i).substr(0,8) == "Property")
{
istringstream ss(propertyStrings.at(i).substr(11,21));
string temp;
properties[i] = new property;
while(!ss.eof())
{
properties[i]->bought = false;
properties[i]->name = propertyStrings.at(i).substr(0,11);
cout << "Name: " << properties[i]->name << endl;
ss >> temp;
properties[i]->cost = atoi(temp.c_str());
cout << "Cost: "<< properties[i]->cost << endl;
ss >> temp;
properties[i]->rent = atoi(temp.c_str());
cout << "Rent: "<< properties[i]->rent << endl;
ss >> temp;
properties[i]->colour = atoi(temp.c_str());
cout << "Colour: "<< properties[i]->colour << endl << endl;
break;
}
}
}
我的问题是,因为 name 变量在 square 类中它工作正常,但属性类的数据成员没有被识别。我的目标是尝试将所有方形数据存储在一个数组中,即属性类和 specialSquare 类,因为这将使以后在我的程序中变得更容易。