Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Leeto
7 / 7 / 0
Регистрация: 23.12.2011
Сообщений: 372
Записей в блоге: 1
#1

Создание, заполнение объектами и удаление динамического массива. Выдает run time error - C++

27.07.2012, 00:23. Просмотров 652. Ответов 3
Метки нет (Все метки)

Компилятор ни на что не ругается, но консоль вылетает с виндовской ошибкой

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#ifndef Point_HPP // anti multiply including gates
#define Point_HPP
 
#include <string>
#include <iostream>
#include <sstream>
#include <cmath>
 
class Point
{   
    private:        //  declaration of private data members 
    double x;       // X coordinate
    double y;       // Y coordinate
 
    public: // public declaration of data members (in given example haven't ) and member functions 
 
 
        //----------- Declaration of Constructors -----------//
    Point();                                        // Default constructor
    Point(double newX , double newY);               // Constructor 
    explicit Point(double value /*, double newY*/);         // Second Constructor 
    Point (const Point& ObjectOfClassPoint);        //COPY constructor
    ~Point(); // 
 
 
    //----------- Declaration of  Accessors member functions -----------//
    std::string ToString() const;    
 
    double X() const;                   
    double Y() const;   
 
 
    //----------- Declaration and  of and Implementaion of setters member functions -----------//
    void X(double newX) {x = newX;};    // The x-coordinate
    void Y(double newY) {y = newY;};    // The y-coordinate
 
    
    //----------- Declaration of Global Ostream << Operator  -----------//
 
    friend std::ostream& operator << (std::ostream& out, Point const& ObjPoint); 
    friend std::ostream& operator << (std::ostream& out, Point const *objPoint);
    
};
 
//----------- Implementaion (inline) of getters member functions -----------//
// Given functions should be const because we not willing modify contained variables when we call those fucntions in any case
inline  double Point::X() const {return x;};                    
inline  double Point::Y() const {return y;};    
 
 
 
 
#endif // Point_HPP
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include "Point.hpp"
 
 
            //----------- Implementation of Constructors -----------//
 
    Point::Point() : x(0) , y(0)                                                        // Default constructor (implemented using colon syntax )
        { 
        //  std::cout << "hi my default constructor\n\n\t";
        }                           
 
 
    Point::Point(double newX , double newY) : x(newX)  , y(newY)                        // Constructor 
        { 
            //std::cout << "hi my constructor\n\n\t"; 
        }               
 
    
 
    Point::~Point()                                                                     // Destructor
        {
            //std::cout << "bye my point..\n";
        }                                    
 
    Point::Point (const Point& ObjectOfClassPoint)                                      // Copy constructor
        {
            //std::cout << "this is COPY constructor\n\n\t ";
            x = ObjectOfClassPoint.x;
            y = ObjectOfClassPoint.y;
        }
 
    //----------- Implementation of GLOBAL Ostream << Operator  -----------//
 
    std::ostream& operator << (std::ostream& out, Point const& ObjPoint)
{
            
 
    return out << "[" << ObjPoint.x << "," << ObjPoint.y << "]" ; 
    
}
 
        std::ostream& operator << (std::ostream& out, Point const *objPoint)
{ 
  
    return out << "[" << objPoint->x << "," << objPoint->y << "]" ; 
    
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
//
 
 
 
 
//main.cpp
 
#include <iostream>
#include "Point.hpp"
 
 
using namespace std; 
int main()
 
    {
      
    int i = 0;                                              
    int arrsize = 3;                                      
    Point** myarrayPoint;
     myarrayPoint = new Point*[arrsize];  
    
 
    //assigning values to each Point object in the array
    while (i <= arrsize)
    {
     
      myarrayPoint[i]->X(rand());
      myarrayPoint[i]->Y(rand());
      i++;
    }
   
 
    i = 0;
    //printing each Point object in the array
    while (i <= arrsize)
    {
      cout << myarrayPoint[i] << endl;
      i++;
    }  
   
    i = 0;
    //deleting each Point object in the array
    while (i <= arrsize)
    {
      delete myarrayPoint[i];
      i++;
    }      
 
    //deleting the Point array
    delete [] myarrayPoint;                                      
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.07.2012, 00:23     Создание, заполнение объектами и удаление динамического массива. Выдает run time error
Посмотрите здесь:

Run-time error - C++
Всем здарсте. Подскажите пожалуйста: почему в результате работы такого кода, получаеться run-time ошибка ? #include &lt;iostream&gt;//Defolt...

Создание динамического массива и его заполнение - C++
как можно создать динамический массив чтобы пользователь сам ввел размерность и заполнил его? вот мои наработки. массив вроде создал, но...

Затаившийся run-time error - C++
Здравствуйте! Решаю следующую задачу: на стандартный ввод подаётся число вершин выпуклого многоугольника, а потом пары чисел - координаты...

Полином Лежандра первого рода. Run-Time error =( - C++
Доброго времени суток. Требовалось написать программу, для вычисления полинома Лежандра первого рода - рекурсивно и итерационно. Саму...

Ошибка Debug error. Run-time check failure #2. C++ - C++
Подскажите, что не так. #include &lt;iostream&gt; #include &lt;locale.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; #include &lt;cstdlib&gt; ...

Templates (composition). exception handling run-time error - C++
Код компилируется. Если делать циклы для push and pop размера такого чтоб не превышало размеры Стока то все работает нормально если...

заполнение структуры, где-то ошибка run-time check failure #2 stack around the variable a was corrupted - C++
Просмотрите пожалуйста код, ошибка run-time check failure #2 stack around the variable 'Data' was corrupted. Почитал, что она возникает,...

Ошибка при записи массива Run-Time Check Failure #2 - C++
Вот функция: void Input(float A) { unsigned short i,j, n; FILE *f; f = fopen(&quot;matr.txt&quot;, &quot;w&quot;); printf(&quot;Введите...

Заполнение динамического массива числами от -50 до 50! - C++
Плиз помогите Заполненить динамический массив числами от -50 до 50!буду очень признателен

Проблема с созданием динамического массива (выдает ошибку) - C++
Здравствуйте, задание такое: &quot;Размер и данные в матрицу вводятся с клавиатуры. Элементы и результаты, разместить в памяти динамически....

Динамическая матрица, заполнение динамического массива. - C++
Вот моя программа, которая никак не хочет работать, помогите пожалуйста. #include &quot;iostream&quot; #include &lt;cstdlib&gt; #include &lt;conio.h&gt; ...

Заполнение динамического массива через указатели - C++
Есть два одномерных динамических массива: А и B. Необходимо создать третий массив С, в котором надо записать общие элементы двух массивов....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nikita_16
9 / 9 / 0
Регистрация: 25.07.2012
Сообщений: 79
27.07.2012, 00:35     Создание, заполнение объектами и удаление динамического массива. Выдает run time error #2
а на какой строке вылетает?
пробовал отлаживать?
ForEveR
В астрале
Эксперт С++
7969 / 4731 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
27.07.2012, 00:36     Создание, заполнение объектами и удаление динамического массива. Выдает run time error #3
А как насчет выделить память для каждой точки?

C++
1
2
3
4
for (i = 0; i < arrsize; ++i)
{
    myArrayPoint[i] = new Point();
}
И почему везде <= используется вместо <?
nikita_16
9 / 9 / 0
Регистрация: 25.07.2012
Сообщений: 79
27.07.2012, 00:37     Создание, заполнение объектами и удаление динамического массива. Выдает run time error #4
ну во-первых
C++
1
2
3
4
5
6
7
while (i < arrsize)
    {
     
      myarrayPoint[i]->X(rand());
      myarrayPoint[i]->Y(rand());
      i++;
    }
Yandex
Объявления
27.07.2012, 00:37     Создание, заполнение объектами и удаление динамического массива. Выдает run time error
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru