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

Как записать два разных класса в массив? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить значения функции на заданном промежутке с заданным шагом http://www.cyberforum.ru/cpp-beginners/thread1494261.html
написать программу вычисления функции на заданном промежутке с шагом 0.2 и построить график этой функции. у={e}^{(-(x+3))} при x>3.61 y=1 при 0\leq x\leq 3.61 y=0.5x при x<0 #include <iostream> #include<iostream.h> #include<conio.h> #include <cmath> using std::cout;
C++ Вычислить сумму конечного ряда написать программу вычисления суммы конечного ряда. значения x и n вводятся с клавиатуры \sum_{k=1}^{n}((-1)^k*(x+3))/k! http://www.cyberforum.ru/cpp-beginners/thread1494255.html
C++ MS Visual Studio 2013 Express при компиляции программа открывается и сразу закрывается
Вот код: #include <iostream> int main() { std::cout << "Hello" << ; system("pause"); return 0; }
Dll. Создание и использование C++
Добрый вечер! Не порекомендуете хорошей литературы по созданию и использованию dll библиотек в Windows?
C++ функции в С++ http://www.cyberforum.ru/cpp-beginners/thread1494217.html
#include <iostream> #include <cmath> #include <iomanip> using namespace std; void Vvod(int* arrA,int n) { for(int i=0;i<n;i++) { cout<<"arrA= ";
C++ Ошибка при резервировании памяти для своего(!) вектора Всем здравствуйте! Возможно, из названия темы не совсем понятен вопрос, поэтому уточню саму суть: Пишу свой шаблонный класс вектора и столкнулся со странной проблемой: при вызове функции reserve, которая, если верить описанию, должна увеличить емкость вектора, если текущая емкость меньше заданной, происходит ошибка времени компиляции (если я правильно классифицировал ошибку). Вот сама... подробнее

Показать сообщение отдельно
ValeryS
Модератор
6550 / 5016 / 463
Регистрация: 14.02.2011
Сообщений: 16,722
07.07.2015, 20:57     Как записать два разных класса в массив?
Цитата Сообщение от hoggy Посмотреть сообщение
ежели он диструктор напишит,
стало быть ничего не утечет.
именно диструктор
еще раз
ты предлагаешь запихивать объекты( а не указатели на них) в массив, приведя их к большему размеру
Цитата Сообщение от hoggy Посмотреть сообщение
нужно организовать такой размер элемента массива,
который гарантированно (с учетом выравнивания)
вмещает в себя весь зоопарк типов,
типа
C++
1
2
3
4
5
6
7
8
9
struct A
{
int a[64];
}
struc B
{
int b;
int reserved[63];
}
или
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
struct A
{
int a[64];
}
struc B
{
int b;
}
 
union AB
{
A aa;
B bb;
}
так или нет ?
если так то прикинь какие "дыры" будут при занесении в массив объектов типа B?
и какой деструктор от этого спасет?

Добавлено через 2 минуты
Цитата Сообщение от hoggy Посмотреть сообщение
вы хотя б иногда, прежде чем писать попробуйте хотя б проверить:
скомпилять, да посмотреть.
его размер принципиально не может быть меньше, чем sizeof(void*).
догадайтесь, почему.
размер кого? объекта абстрактного класса? а как его создать?
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru