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

Выделить память под несколько элементов + вызвать конструктор для каждого - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Класс в классе http://www.cyberforum.ru/cpp-beginners/thread166001.html
class Date { public: Date(int dd = 0, Month mm = Month(0), int year = 0); //Деструктор ~Date(){};
C++ задание по структурам Вот задача Создать структуру с именем employee, содержащую два поля: номер со¬трудника типа int и величину его пособия в долларах типа float. Запроси¬ть с клавиатуры данные о трех сотрудниках, сохраните их в трех струк¬турных переменных типа employee и выведите информацию о каждом из сотрудников на экран. http://www.cyberforum.ru/cpp-beginners/thread165963.html
Класс Anketa C++
Объясните что делает етот фрагмент програмы и есть ли в нем ошибки (где). ... class Anketa { char *fam; char *name; public: Anketa (); ~Anketa (char *str); char *getfam() {return fam}; char *getname() {return name;}
Вычислить сторону треугольника ABC, зная две другие стороны и угол между ними C++
есть код{float a,b,c,x; setlocale(LC_ALL,"Russian"); cout<<"Вычислить сторону треугольника ABC, зная две другие стороны и угол между ними;"<<endl; cout<<"Введите длину A:"; cin>>a; cout<<"Введите длину B:"; cin>>b; cout<<"Введите величину угла в градусах:"; cin>>x;
C++ LNK1169: one or more multiply defined symbols found http://www.cyberforum.ru/cpp-beginners/thread165944.html
Не могу понять, в чём тут ошибка?? Помогите пожалуйста)) #include <iostream.h> #include <stdio.h> #include <math.h> void main() { double x,y,z; cout << "Vvedite chislo x-->";
C++ Сортировка стека Пытаюсь сортировать стек, но ничего не выходит, помогите пожалуйста #include "stdafx.h" #include "iostream" #include "stack" using namespace std; int main() { setlocale(LC_ALL,"Russian"); подробнее

Показать сообщение отдельно
Nick Alte
Эксперт С++
1636 / 1008 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
15.09.2010, 15:15
Если нельзя, но очень хочется, то можно:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void Foo(size_t amount)
{
    // Выделим память
    MyClass *ptr = reinterpret_cast<MyClass*>(new char[sizeof(MyClass)*amount]);
    // Вручную вызовем конструктор для каждого элемента
    for(size_t i = 0; i<amount; ++i)
        new (ptr+i) MyClass(i*2.5f);
    // Поработаем с объектами
    for(size_t i=0; i<amount; ++i)
        ptr[i].Method();
    // Вручную разрушим объекты
    for(size_t i=0; i<amount; ++i)
        ptr[i].~MyClass();
    // Освободим выделенную под массив память
    delete [] ptr;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru