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

Инициализация массива объектов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ "Закомментировать" код двух задач. Помогите разобраться с алгоритмом. http://www.cyberforum.ru/cpp-beginners/thread546705.html
Здравствуйте, Помогите, пожалуйста: нужно "закомментировать", чтобы лучше разобраться в алгоритме. Имеются постановка задачи и собственно сам код. Заранее спасибо. Задача 1. Задача о черепахах (которые стремятся друг-друга догнать) 1) Задать на экране случайные начальные положения n черепах (разными цветами). 2) В момент времени t = 0 все черепахи начинают двигаться с равными и...
C++ Разряженные ленточные матрицы Доброго времени суток! Очень нужна помощь. На С++ написать прогу. Даны две разряженные ленточные матрицы. Из одной матрицы вычесть другую. разряженная - это матрица в которой преймущественно нули Заранее Вам благодарна! procedure() //Алгоритм доступа к элементу с индексами ij: { AA=0; // значение искомого элемента http://www.cyberforum.ru/cpp-beginners/thread546695.html
C++ Класс и конструктор с string или как использовать указатели.
Есть такая вот ерунда class human { public: string name; string surname; int age; human(string *imya, string *familia, int vozrast):age(vozrast){ imya.copy(name,sizeof(imya),0); familia.copy(surname,sizeof(familia),0);
Строка: удалить последнее слово из каждого предложения. C++
Дан текст. Нужно удалить последнее слово из каждого предложения. Я делаю так. По порядку пребераю все элементы пока не встретиться точка, если встретилась точка то перебераю элементы в обратном порядке от точки и до первого пробела. Таким образом я нашел количество букв в слове и с какого элемента оно начинается. Далее сдвигаю остальные элементы текста на количество букв. Помогите...
C++ Из положительных значений двух целочисленных массивов различной размерности сформировать общий массив http://www.cyberforum.ru/cpp-beginners/thread546647.html
Из положительных значений двух целочисленных массивов различной размерно- сти сформировать общий массив. Найти среднее арифметическое элементов, рас- положенных в массиве после последнего совершенного числа. Создать функции для вычисления среднего значения и определения совершенного числа. Добавлено через 1 час 11 минут напишите пожалуйста на начальном уровне,уровне студента 1 курса)
C++ Шифрование DES: на выходе получаются каждый раз новые результаты с одинаковыми входными данными Здравствуйте. Попробовал сегодня реализовать хоть как-то шифрование DES. Накодил кучу корявого кода. В итоге на выходе получаются каждый раз новые результаты с одинаковыми входными данными. Наверное где-то с выделением памяти накосячил и оно друг на друга налазит. Помогите найти ошибку, пожалуйста :) #include <iostream> int sj={ { {14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7},... подробнее

Показать сообщение отдельно
Lindeman1976
0 / 0 / 0
Регистрация: 26.11.2011
Сообщений: 6
13.04.2012, 14:32  [ТС]     Инициализация массива объектов
Если я правильно понял, Вы предлагаете сделать класс CPt производным от CShape?
То есть код должен быть примерно таким:

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
//Виртуальный базовый класс фигур
class CShape {
public:
    virtual CShape* move(short dx, short dy)=0;
    virtual void Draw() const =0;
};
 
class CPt: public CShape {
    short x;
    short y;
public:
    CPt(short set_x/*=0*/, short set_y/*=0*/):x(set_x),y(set_y) {}
    CPt(const CPt& copy);
    short GetX() const;
    short GetY() const;
    void SetX(short x_set);
    void SetY(short y_set);
    CShape* move(short dx, short dy);
    void Draw() const;
};
 
class Line: public CShape {
    static const short nPts=2; //Количество точек, задающих линию
    CPt mPts[nPts]; //Массив, содержащий крайние точки линии
public:
    Line() {}
    Line(short x1, short x2, short y); //Конструктор, создает горизонтальную линию
    Line(const Line& source);
    Line& operator = (const Line& other);
    CShape* move(short dx, short dy);
    void Draw() const;
};
Но это не решает проблему.
Все равно, если в CPt нет конструктора по умолчанию, то компилятор ругается на его отсутствие и код не компилируется.
Как только в конструкторе CPt мы снимаем комментарии (добавляем значения по умолчанию), все компилируется и работает, как в первом, так и во втором варианте.
Здесь класс CShape вообще не обязателен.
Вопрос в том, можно ли инициализировать массив объектов класса A, входящий в объект класса B, если для класса A нет конструктора по умолчанию.
 
Текущее время: 03:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru