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

Указатель на динамический массив объектов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить значение заданной функции y=f(x) на данном интервале [a,b] с заданным шагом h http://www.cyberforum.ru/cpp-beginners/thread145004.html
Вычислить значение заданной функции y=f(x) на данном интервале с заданным шагом h. Вывод значений аргумента и результаты вычисления значений функции сделать в виде таблицы. Функция y=cosx+1 Диапазон изменения аргумента Шаг h= п/4
C++ expexted primary expression before "void" Эм, помогите, люди добрые! В чём ошибка и как бы это исправить? Чёт я зависла слегка, знаний не хватает)) Пасибо огромнейшее заранее тому, кто мне скажет, где я балбеско! #include <iostream> using namespace std; int main() { char benutzereingabe_text; int benutzereingabe_zahl; int testscore = 0; http://www.cyberforum.ru/cpp-beginners/thread145003.html
Сделать вставку асма C++
Помогите пожалуйста!!!!нужно дописать вставку асма, вот задача: Латинский квадрат. Латинским квадратом порядка n называется квадратная таблица размером nxn, каждая строка и каждый столбец которой содержат все числа от 1 до n. Проверить, является ли заданная целочисленная матрица латинским квадратом. вот код: #include "stdafx.h" #include <iostream> #include <conio.h>
Пирамидальная сортировка C++
Всем hello!!! Плиз помогите реализовать пирамидальную сортировку на С++!!! Зарание блогодарен!!!
C++ С++ \ Одномерный массив: Добавить элемент с номером К. http://www.cyberforum.ru/cpp-beginners/thread144981.html
Здравствуйте: нужно помоч переделать. Она полностью рабочая. Но без процедур и вся в МЕЙНЕ, переделать что бы в МЕЙНЕ был только вывод массива и результата. А в процедуре все остальное. Одномерный массив: Добавить элемент с номером К. #include <iostream.h> #include <conio.h> void main() { clrscr(); int n,m,j;
C++ Удалить самую длинную строку матрицы 1. Критерий для поиска в массиве структур: Сотрудники со стажем более 10 лет и заработной платой более 15000! 2. Задача для обработки массива строк: Уничтожить самую длинную строку массива! #include "iostream" #include "string.h" using namespace std; struct lines { char *line; подробнее

Показать сообщение отдельно
Reinaldo
Сообщений: n/a

Указатель на динамический массив объектов - C++

13.06.2010, 22:45. Просмотров 576. Ответов 0
Метки (Все метки)

Что я делаю неправильно?

1. Объявление класса №1.
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
#include <conio.h>
#include <dos.h>
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
 
#define inl " ## "
 
class plane
{
  int altitude, speed, AoA, AiA, coordx, coordy;
  char *type;
 
  public:
  int thrust, rand;
 
  void chg_thrust();
  void chg_AiA();
  void chg_AoA();
  void chg_speed();
  void chg_altitude();
  void chg_coords();
 
  char* gettype() {return type;};
  int getalt() {return altitude;};
  int getspeed() {return speed;};
  int getAoA() {return AoA;};
  int getAiA() {return AiA;};
  int getx() {return coordx;};
  int gety() {return coordy;};
 
  plane() {speed=300; altitude=500; type="Boeing";
  AoA=0; AiA=0; coordx=0; coordy=0; thrust=0;};
  plane(int sp, int alt, char *tp);
  ~plane() {};
 
};
2. Объявление класса №2.
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
class controller
{
  int number, i;
 
  public:
  plane *objects;
 
  void initnewobj();
  int control();
  controller();
  ~controller() {delete objects;};
} computer;
 
controller::controller()
{
  number=0;
  objects=NULL;
  for (i=0;i<10;i++)
  {
    objects=new plane;
    number++;
  }
}
 
int controller::control()
{
  for (i=0;i<number;i++)
  {
    cout
    << objects[i].gettype() << inl << objects[i].getspeed() << inl
    << objects[i].getalt() << inl << objects[i].getAoA() << inl
    << objects[i].getAiA() << inl << objects[i].getx() << inl
    << objects[i].gety() << inl << endl;
  }
}
Ошибок не выдает, и при обращении к objects[0] все происходит корректно, но при обращении к objects[i], i!=0 - выдает совершенно левые наборы символов, причем самый простой случай - это, например, 18347 вместо 300 (в целочисленных полях), более сложный - полный экран собак ( "@" ), самый сложный - "выдержка" из какой-то досовской инструкции по применению оператора FOR в batch-файлах, на русском языке, который обычно вообще-то не отображается, если попытаться вывести его через программу (последние два варианта - в том месте, где выводится строка type.

HELP PLEASE! Если кто прямо сегодня подскажет, в чем проблема, с меня пиво при встрече. хД
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru