问题遇到的现象和发生背景
啊自己找不到问题!!
这是我在学习类的组合时遇到的问题,我在组合类中声明了两个内嵌类的对象,然后报错点应该是组合类的成员函数中访问了内嵌类的对象的公有函数。
代码例如下:(组合类的声明片段)
class Rectangle {
public:
Rectangle(int x1, int y1, int x2, int y2, int c);
void printR() {
cout << "This is a Ractangle.The position is " << endl;
cout << "(" << p1.GetX() << "," << p1.GetY() << ")" << endl;
cout << "(" << p2.GetX() << "," << p2.GetY() << ")" << endl;
}
int Getcolor() {
return color;
}
int square_feet() {
int mianji = abs(p1.GetX() - p2.GetX()) * (p1.GetY() - p2.GetY());
return mianji;
}
private:
Point p1;
Point p2;
int color;
};
比如:函数square_feet中访问了p1对象的GetX()函数等等,将square_feet函数和printR函数的内容删掉就不报错了。
报错内容如下: