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

ООП Полиморфизм Наследование - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Подправте пожалуйста код http://www.cyberforum.ru/cpp-beginners/thread104628.html
Привет всем. Очень нужна ваша помощь... Вот исходный код на паскале: Program LAB1; uses crt; Procedure WriteByte(a:byte); var i:integer; begin for i:=7 downto 0 do begin if ((a shr i) and $01) <>0 then write('1')
C++ Отсортировать массив чисел методом пузырька помогите пожалуйста!!!! отсортировать массив чисел методом пузырька чтобы числа были не заданы ,а вводились пользователем(n-ое количество чисел) http://www.cyberforum.ru/cpp-beginners/thread104621.html
C++ Передача элементов массива из одной функции в другую
Подскажите пожалуйста, хочу написать тест проверки знаний, генерацию случайных элементов без повторений нашел в Internet переработал под себя, теперь столкнулся с задачей передачи элементов массива из одной функции в другую испльзую VS 2008 // программа теста // #include "stdafx.h" #include "time.h"// системная директива работы со временем #include "stdlib.h"// хранятся функции для работы...
C++ строки на С++
помогите пожалуйста!начал програмировать совсем недавно и еще многое к сожалению не получается.задали задачу: с консоли ввести две строки,каждая из которых состоит не более чем 255 символов.Найти сколько раз одна вторая строка встречается в первой.
C++ перегрузка и шаблон http://www.cyberforum.ru/cpp-beginners/thread104594.html
В программе одномерный и двумерный массив записываются с клавиатуры, а печатаются на экран с помощью одной ф-ции print. С помощью шаблона ф-ции MIMIMUM найти минимальный элемент в каждом из массивов.
C++ Найти и вывести все имеющиеся пары стоящих рядом одинаковых символов Помогите решить пожалуйста: Среди данного массива символов, найти и вывести все имеющиеся пары стоящих рядом одинаковых символов. Все исходные величины должны вводиться из файла (in.txt), а результат должен быть записан в результирующий файл (out.txt). Понимаю конечно что условие отбора if mas = mas = условие выполнено, но как делать вывод и ввод в файл не могу разобраться! подробнее

Показать сообщение отдельно
savak
2 / 2 / 0
Регистрация: 28.03.2009
Сообщений: 61
14.03.2010, 21:26     ООП Полиморфизм Наследование
У меня есть базовый класс и 2 производных от него класса...
Как сделать, чтобы в программе я мог сделать такое обьявление:

C++
1
2
3
Force fc[2];
    fc[0] = new GravityForce(nofg, 5, 2);
    fc[1] = new ViscousDragForce(nofvd, 6, 2);
И потом пробежатся по массиву и вызвать для каждого производного класса его собственный виртуальный метод примерно так
C++
1
2
3
4
for(int i = 0; i < 2; i++)
{
 fc[i].ApplyForce(ps)
}

Вот листинг этих классов:
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
// Абстрактный класс силы
class Force
{
protected:
    int * nofparticles; // Номера частичек, в массиве частиц, к которым применяется сила
    int n;
public:
    Force(int * numbers_of_particles, int number);
    void virtual ApplyForce(ParticleSystem & A)=0;
};
 
// Сила гравитации
class GravityForce : public Force
{
private:
    double G;
public:
    GravityForce(int * numbers_of_particles, int number, double g) : Force(numbers_of_particles, number) { G = g; }
    void ApplyForce(ParticleSystem & A);
};
 
// Сила вязкости
class ViscousDragForce : public Force
{
private:
    double k;
public:
    ViscousDragForce(int * numbers_of_particles, int number, double kof) : Force(numbers_of_particles, number) { k = kof; }
    void ApplyForce(ParticleSystem & A);
};
Вот ошибки:
1>c:\documents and settings\virex\мои документы\visual studio 2008\projects\courseworkps\courseworkps\main.cpp(31) : error C2512: 'Force' : no appropriate default constructor available
1>c:\documents and settings\virex\мои документы\visual studio 2008\projects\courseworkps\courseworkps\main.cpp(32) : error C2679: binary '=' : no operator found which takes a right-hand operand of type 'GravityForce *' (or there is no acceptable conversion)
1> c:\documents and settings\virex\мои документы\visual studio 2008\projects\courseworkps\courseworkps\forces.h(16): could be 'Force &Force::operator =(const Force &)'
1> while trying to match the argument list '(Force, GravityForce *)'
1>c:\documents and settings\virex\мои документы\visual studio 2008\projects\courseworkps\courseworkps\main.cpp(33) : error C2679: binary '=' : no operator found which takes a right-hand operand of type 'ViscousDragForce *' (or there is no acceptable conversion)
1> c:\documents and settings\virex\мои документы\visual studio 2008\projects\courseworkps\courseworkps\forces.h(16): could be 'Force &Force::operator =(const Force &)'
1> while trying to match the argument list '(Force, ViscousDragForce *)'

Помогите плз, а то неделя до сдачи курсовой, а мне еще писать и писать((((
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru