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

Виртуальные конструкторы или выбор паттерна проектирования - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Где ошибка? http://www.cyberforum.ru/cpp-beginners/thread1143411.html
Помогите, пожалуйста, на сайте дистанционной проверки пишет "Ошибка компиляции". Пирожок в столовой стоит a рублей и b копеек. Определите, сколько рублей и копеек нужно заплатить за n пирожков. Программа получает на вход три числа: a, b, n и должна вывести два числа: стоимость покупки в рублях и копейках. Пример Ввод Вывод 10 20 30 15 2
C++ Двумерные массивы: построить массив по правилу Дан массив А. Построить массив B(6) по следующему правилу: B(1) присвоить количество нулевых элементов главной диагонали, B(2) присвоить количество нулевых элементов диагонали, расположенной выше и параллельно главной диагонали и т.д. http://www.cyberforum.ru/cpp-beginners/thread1143408.html
C++ Много ошибок
#include <iostream> using namespace std; double F(double X){ return (pow((sin(X) - 2 * cos(2 * X)), 2)); } int main() { int Cond = 0, k = 0, metka = 1, KolIter; double X, E, Y1, Y2, RE = 0, Xw, h;
Вывести число итераций, необходимое для достижения заданной точности C++
Здравствуйте. Помогите решить: Вывести на экран таблицу значений функции Y(x) и ее разложения в ряд S(x) с точностью ε (табл. 8.1). Вывести число итераций, необходимое для дос-тижения заданной точности. Вычисление S(x) и Y(x) оформить в виде функций.
C++ Написать функцию, возвращающую случайное число от 2 до 6 http://www.cyberforum.ru/cpp-beginners/thread1143303.html
Покажите как будет выглядеть программа подставляющая числа от 2до6 (рандом) в формулу ПR(5 результатов) Добавлено через 6 минут подпрограмма
C++ Рассчитать квадратный корень из любого элемента массива и среднеее арифметическое двух любых элементов Дан массив. Составить программу: а) расчета квадратного корня из любого элемента массива; б) расчета среднего арифметического двух любых элементов массива. подробнее

Показать сообщение отдельно
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,009
09.04.2014, 15:25     Виртуальные конструкторы или выбор паттерна проектирования
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
#include <iostream>
#include <memory>
 
class Base {
public:
    Base(const std::shared_ptr<int>& sd) : shared_data_{sd} { }
    int& GetData() const { return *shared_data_; }
 
private:
    std::shared_ptr<int> shared_data_;
};
 
class C1 : public Base {
public:
    C1(const std::shared_ptr<int>& sd) : Base{sd} {}
};
 
class C2 : public Base {
public:
    C2(const std::shared_ptr<int>& sd) : Base{sd} {}
};
 
class Factory {
public:
    Factory() : shared_data_{std::make_shared<int>(42)} {}
    
    C1 CreateC1() const { return C1(shared_data_); }
    C2 CreateC2() const { return C2(shared_data_); }
private:
    std::shared_ptr<int> shared_data_;
};
 
 
int main() {
    Factory f;
    
    C1 c1 = f.CreateC1();
    C2 c2 = f.CreateC2();
    
    std::cout << "C1: " << c1.GetData() << std::endl;
    std::cout << "C2: " << c2.GetData() << std::endl;
    
    c1.GetData() = 10;
    
    std::cout << "C1: " << c1.GetData() << std::endl;
    std::cout << "C2: " << c2.GetData() << std::endl;
    
    
    return 0;
}
http://ideone.com/l5n6qe
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru