1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
| Rocket |
23.03.2008 12:41
Сообщение
#1
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 306 Пол: Мужской Реальное имя: Евгений Репутация: 0 |
Создал два класса: базовый Base и производный от него Derived.
Сначала нужно в функции main описать неинициализированный объект класса Derived и откомпилировать программу, а потом описать инициализированный объект класса Derived. Соответствующие конструкторы я правильно реализовал? Объясните пожайлуста результаты вывода размеров типов Base и Derived, это связано с выравниванием на длину машинного слова? |
![]() ![]() |
| volvo |
23.03.2008 13:47
Сообщение
#2
|
|
Гость |
Цитата Соответствующие конструкторы я правильно реализовал? Нет, программа компилироваться не будет... Из конструктора Derived частные члены Base недоступны (у тебя есть попытка обратиться к частному d), только общие и защищенные...Да и вообще, не надо инициализировать поля предка из потомка, для этого у предка есть конструкторы: Derived(int I, long L, double D, float F): Base(I, L, D) Цитата это связано с выравниванием на длину машинного слова? Да... Отмени выравнивание, получишь размер Derived = 20, как и ожидаешь:#pragma pack(1) Сообщение отредактировано: volvo - 23.03.2008 13:55 |
| Rocket |
23.03.2008 14:26
Сообщение
#3
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 306 Пол: Мужской Реальное имя: Евгений Репутация: 0 |
|
Rocket Наследование 23.03.2008 12:41
volvo Ну, скажем так, Стандарт не прописывает жестко раз... 23.03.2008 14:30
Rocket
Ну, скажем так, Стандарт не прописывает жестко ра... 23.03.2008 14:39
volvo ostream& operator << (ostream& os, c... 23.03.2008 15:03
Rocket
[code=cpp]ostream& operator << (ostream... 23.03.2008 15:21
volvo #include<iostream>
using namespace std;
clas... 23.03.2008 15:31
Rocket
#include<iostream>
using namespace std;
cla... 23.03.2008 21:36![]() ![]() |
|
Текстовая версия | 9.12.2025 0:01 |