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

Написать класс, от которого можно получить только один экземпляр класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Добавить в строковый класс функцию http://www.cyberforum.ru/cpp-beginners/thread143815.html
Добавить в строковый класс функцию, которая создает строку, содержащую пересечение двух строк, то есть общие символы для двух строк. Например, результатом пересечения строк "sdqcg" "rgfas34" будет...
C++ Рекурсия, квадратные корни. Здравствуйте, очень нужна помощь с задачей на рекурсию "Написать рекурсивную функцию и её нерекурсивный аналог, произвести измерение времени работы написанных функций при разных значениях" А... http://www.cyberforum.ru/cpp-beginners/thread143808.html
Циклические алгоритмы. Управление циклами. C++
Организовать процесс угадывания числа: компьютер генерирует случайное число (1…1000), пользователь пытается его угадать за фиксированное число попыток (10). Компьютер должен выводить ответ на каждое...
C++ Граф-карта
Добрый день. Не знаю, люда надо писать или нет. Показалось что сюда. Задача: Дано: список точек и описание с какими точками они соединены в каких направленияю. Требуется нарисовать граф...
C++ люди я на зачёте http://www.cyberforum.ru/cpp-beginners/thread143747.html
Ввести три цифры найти среди них минимальную, две оставшиеся через пробел вывести в текстовый файл . я сделал но не вывел в файл помогите пожалуйста #include<iostream.h> #include<stdlib.h>...
C++ где можно бесплатно и без регистрации скачать фильмы на английском с рус. субтитрами надо для учебы подробнее

Показать сообщение отдельно
rrrFer
Заблокирован
12.06.2010, 03:04
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 <cstdlib>
#include <clocale>
 using namespace std;
class JustOne{
    int val;
    static JustOne* instanceToSingleCopy;
protected:
    JustOne(){
        val=0;
    }
    JustOne(int v) {
        val = v;
    }
public:
    static void Destroy(){
        if(instanceToSingleCopy)
            delete instanceToSingleCopy;
    }
    static JustOne* Create(int v){
        if(!instanceToSingleCopy)
            instanceToSingleCopy=new JustOne(v);
        else
            cerr<<"Не возможно создать более 1 объекта-функция вернула указатель на обьект,созданный ранее"<<endl;
        return instanceToSingleCopy;
    }
    static JustOne* Create(){
        if(!instanceToSingleCopy)
            instanceToSingleCopy=new JustOne(0);
        else
            cerr<<"Не возможно создать более 1 объекта-функция вернула указатель на обьект,созданный ранее"<<endl;
        return instanceToSingleCopy;
    }   
    int getval(){
        return val;
    }
};
JustOne* JustOne::instanceToSingleCopy=0;   //инициализация нулем
int main(){
 
    setlocale(LC_CTYPE, "rus");
    JustOne *a,*b;
    a=JustOne::Create(5);
    cout<<a->getval()<<endl;
    b=JustOne::Create(6);
    cout<<a->getval()<<endl;
 
    getchar();
    return 0;
}
я бы так написал

Добавлено через 3 минуты
почитать про это можно тут например
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru