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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
краб
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 52
#1

Синглтон для лог файла! - C++

15.03.2014, 13:56. Просмотров 316. Ответов 6
Метки нет (Все метки)

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
51
52
53
54
55
56
57
#include <iostream>
#include <cmath>
#include <limits>
#include <stdio.h>
#include <math.h>
#include <fstream>
using namespace std;
class pole
{
public:
    static pole * _F;
    char stroka[100];
    char *result;
 
    pole()
    {}
    pole(const pole&);
    pole& operator=(pole&);
     static pole * getInstance() {
        if(!_F)           
            _F = new pole();
        return _F;
    }
    void Stroka()
    {
        cout << "Vvedite stroku "<<endl;
        result=gets(stroka);
    }
    void fail()
        {
        FILE *f=NULL;
        f = fopen("dat.txt", "a+");
        if (f == NULL)
        {
            cout << "no fail ";
            system("pause");
        }
        fprintf(f, "%s", __TIME__); 
        fprintf(f, "%s", " || ");
        fprintf(f, "%s", __DATE__);
        fprintf(f, "%s", " || ");
        
        fprintf(f, "%s",result);
        fprintf(f, "%s", " || ");
        }
 
};
void main()
{   pole::getInstance();
    pole A;
    A.Stroka();
    A.fail();
    pole B;
    B.Stroka();
    B.fail();
    
}
Выводит ошибку не могу с ней разобратся error lnk2001 далее пробовал все раскидать по уму в cpp и h ниже пример второй программы но там синглтон не работает подскажите где косяк мб нерпавильно обращаюсь !
Вложения
Тип файла: rar 5.rar (3.52 Мб, 2 просмотров)
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2014, 13:56     Синглтон для лог файла!
Посмотрите здесь:

Создание лог файла. Нет подходящего конструктора по умолчанию - C++
Добрый день, почему вылетает ошибка не пойму. Ошибка: нет подходящего конструктора по умолчанию. И вторая ошибка Log::Log(void):...

Синглтон - C++
необходимо разработать класс, который бы гарантировал, что его экземпляр будет один и только один из объектов данного класса

Потокобезобасный синглтон - C++
Имеется следующий драфт синглтона с отложенной инициализацией: class NormPool; typedef std::shared_ptr&lt;NormPool&gt; PNormPool; ...

Синглтон как антипаттерн - C++
Доброе утро, данный паттерн называют часто анти-паттерном, но не называют &quot;валидную&quot; ему замену - как она? Как по мне отличный паттерн...

Синглтон Мейерса, нужны некоторые пояснения - C++
class Singleton{ public: static Singleton&amp; init() { static Singleton Object; return Object; } ...

Мой синглтон. Дайте рекомендации, оцените, пожалуйста - C++
Доброе утро! Вот, наваял тут типа синглтон. Можете дать замечания по данной реализации. Спасибо! //...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,009
15.03.2014, 14:01     Синглтон для лог файла! #2
В 11 строке объявление статического поля, должно быть еще определение за пределами класса:
pole * pole::_F;

О том, что нельзя начинать имена переменных с подчернкивания и что к синглтону приведенный код не имеет отношения, умолчу.
краб
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 52
15.03.2014, 14:16  [ТС]     Синглтон для лог файла! #3
если не имеет то поделитесь ссылкой где адекватно будет написано как реализовать синглетон пользовался этой ссылкой первым примером http://cpp-reference.ru/patterns/cre...rns/singleton/

Добавлено через 3 минуты
в сpp в проге которая в архиве там все работает без ошибок но почему создются обьекты класса ?
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,009
15.03.2014, 14:19     Синглтон для лог файла! #4
Цитата Сообщение от краб Посмотреть сообщение
поделитесь ссылкой где адекватно будет написано
По диагонали просмотрел приведенную Вами ссылку - там все в порядке.

Цитата Сообщение от краб Посмотреть сообщение
почему создются обьекты класса ?
Потому что Вы объявили публичные конструкторы и, блин, создаете сами объекты. См строки 50, 53.
краб
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 52
15.03.2014, 14:32  [ТС]     Синглтон для лог файла! #5
сейчас я сделал private коструктор у меня к моему классу нельзя будет в майне создать обьект ,по идее как работает синглетон я создаю пару обьектов класса он это видит и значение первого обьекта приравнивает всем а остальные обьекты даже ни создает
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,009
15.03.2014, 14:43     Синглтон для лог файла! #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
краб, смотрите внимательно статью, можно почитать что написано в книге GoF.
Вы не должны явно создавать объекты класса. Объект можно получать только путем вызова метода get_instance. За счет этого реализуется контроль за количеством объектов.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2014, 14:52     Синглтон для лог файла!
Еще ссылки по теме:

Лог файл - C++
Нужен код, который добавляет в программу лог файл через процедуры

Событие записи в системный лог - C++
Как можно отловить событие записи в системный лог? Как читать из лога я знаю (ReadEventLog), так что про это писать не надо :) Заранее...

Перегрузка лог. >(Компилятор ругается) - C++
Нужно написать программу перегрузки лог. &gt; . Чтобы сравнивались 2 дроби.Вот написал, но компилятор ругаеться. #include &lt;iostream&gt; using...

Запись запущенных программ в лог файл. - C++
Знаю что лог файлы, хранящиеся в C:\WINDOWS\Prefetch записывают все запущенные программы и момент их запуска. Скажите, можно ли как-то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
краб
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 52
15.03.2014, 14:52  [ТС]     Синглтон для лог файла! #7
явно не должны,спасибо тебе большое я суть не уловил спасибо
Yandex
Объявления
15.03.2014, 14:52     Синглтон для лог файла!
Ответ Создать тему
Опции темы

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