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

Наследование класс1 *test = new класс2 - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ "Завасание" программы, при входе в цикл http://www.cyberforum.ru/cpp-beginners/thread931695.html
Всем доброго времени суток. Пока писал чат на WinSock, столкнулся с такой проблемой: при в ходе в цикл While, программа ( среда - Windows Forms ) как-бы "зависает" - не реагирует на действия пользователя, перестает отрисовывать формы, не реагирует на клавишу "закрыть окно". Вот сам код: using namespace System::Runtime::InteropServices; char * StringToChar(System::String^ string); //...
C++ Игры на C++ Вот мне интерессно, стоит ли учиться создавать игры на С++? Или всё это ерунда и лучше игры создавать на тех же Delphi, WinAPI и т.д.? :) А то я хочу попытаться сделать какую-то игрушку консольную :) http://www.cyberforum.ru/cpp-beginners/thread931685.html
Как объединить пару байт в слово? (Загрузка WAV, Big Endian) C++
Привет! Есть звуковой файл с 16-и битными амплитудами. Да не суть. После открытия файла и чтения всяких заголовков, остаются чистые RAW данные, тоесть байты. Исходя из того, что файл у нас 16-и битный, в этих данных идут нужные мне амплитуда (просто значения) по два байта на каждую. Тоесть идёт последовательность байт: 0,1,2,3,4,5,6,7....и тд здесь первое значение хранится в первых двух байтах,...
C++ Ошибка
Привет всем, пытаюсь сделать конвертер из кг в граммы, у меня тут выдаёт ошибку подчёркнуто слово cout. Прошу, помогите разобраться. #include <iostream> using namespace std; int main () { int kg, grams cout << "Put in the number of kg: ";
C++ Среда разработки http://www.cyberforum.ru/cpp-beginners/thread931654.html
Слышал что вкусы различаются, соответсвенно и среда у многих отличается друг от друга... Простите, в чем разница между такими средами как dev c++, Microsoft visual и builder 5 - 6? Есть ли существенная разница между этими и возможно другими средами? Заметил что компиляторы требуют себе разную начинку и поэтому хочу послушать что об этом думают бывалые программеры.. :)
C++ Создание и подключение заголовочного файла Всем привет! Столкнулся с простой но очень интересной проблемой... Создаю новый проект в MVS2012 (пустой), создаю в нем файл исходного кода, пишу основную программу. Далее создаю в разделе "Заголовочные файлы" пустой файл *.h и пишу в нем определение класса с функциями. После чего инклудю его в исходном коде (мейновском) и пробую компилировать... Вылазеет ошибка, сообщающая что программа не... подробнее

Показать сообщение отдельно
VLK
 Аватар для VLK
192 / 161 / 12
Регистрация: 05.05.2013
Сообщений: 1,221
31.07.2013, 21:47     Наследование класс1 *test = new класс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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <iostream> 
 
class BaseClass // Базовый класс
{
public:
BaseClass(): a(0), b(0) { std::cout << "BaseClass constructor.. \n"; }
BaseClass(int rhs_a, int rhs_b): a(rhs_a), b(rhs_b) { std::cout << "BaseClass constructor.. \n"; }
 
void print() const 
{
std::cout << "a: " << a << "\n";
std::cout << "b: " << a << "\n";
}
 
void printBaseClass() const 
{
std::cout << "a: " << a << "\n";
std::cout << "b: " << a << "\n";
}
 
protected:
int a;
int b;
};
 
 
class DerivedClass : public BaseClass // Производный класс от BaseClass
{
public:
DerivedClass(): x(0), y(0), z(0) { std::cout << "DerivedClass constructor.. \n"; }
DerivedClass(int rhs_x, int rhs_y, int rhs_z): x(rhs_x), y(rhs_y), z(rhs_z) { std::cout << "DerivedClass constructor.. \n"; }
 
void print() const 
{
std::cout << "x: " << x << "\n";
std::cout << "y: " << y << "\n";
std::cout << "z: " << z << "\n";
}
 
void printDerivedClass() const 
{
std::cout << "x: " << x << "\n";
std::cout << "y: " << y << "\n";
std::cout << "z: " << z << "\n";
}
 
protected:
int x;
int y;
int z;
};
 
 
int main()
{
setlocale(LC_ALL,"");
 
BaseClass * test = new DerivedClass;
test->print();
test->printBaseClass();
 
 
system("pause");
return 0;
}


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