Да, так что я пытался закодировать программу, которая создает набор фигур на основе классов / полиморфизма и прочего и сохраняет их в массив пользовательских форм. Но по какой-то причине мой код выдает мне это исключение:
Исключение: нарушение прав чтения. это было 0x CCCCCCCC. произошло
Хмм, я не совсем понимаю, что это значит, так как Engli sh - мой единственный язык.
Также вот мой код:
Итак, во-первых, я определил мой абстрактный базовый класс для фигур и прочего
class Shape {
public:
// tally number of shapes
static int shapeCount;
// constructor to add the number of shapes
Shape() { shapeCount++; }
// accessors
int getNumOfShapes() const { return shapeCount; } // return the amount of shapes created
double getArea() const { return area; }
blah blah blah blah......
Далее я определил все дочерние классы для фигур (круг, прямоугольник и т. д. c)
После этого я сделал несколько функций где пользователь будет создавать формы и прочее Вот код для этого:
void createCircle(Shape* array[SHAPE_LIMIT], double radiiOne, int xCoord , int yCoord, int& counter ){
array[counter] = new Circle(radiiOne, xCoord, yCoord);
cout << " Circle created!" << endl;
}
Теперь В основной функции я попытался отобразить область отдельной фигуры, используя метод getArea ().
cout << shapeArray[counter]->getArea() << endl;
Теперь я получаю исключение, также я убедился, что передал свой указатель на массив фигур в функцию, так что я в замешательстве.
int main() {
Shape* shapeArray[SHAPE_LIMIT]; // This is the array which will hold all the shapes
int numOfShapes = 0;
blah blah blah....
Кто-то, пожалуйста, помогите, я надеюсь, я дал достаточное объяснение! :)