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

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

Восстановить пароль Регистрация
 
краб
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 52
15.03.2014, 13:56     Синглтон для лог файла! #1
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++ Вывод даты, времени в лог
Синглтон C++
Событие записи в системный лог C++
C++ Потокобезобасный синглтон
C++ Мой синглтон. Дайте рекомендации, оцените, пожалуйста
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
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
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
15.03.2014, 14:19     Синглтон для лог файла! #4
Цитата Сообщение от краб Посмотреть сообщение
поделитесь ссылкой где адекватно будет написано
По диагонали просмотрел приведенную Вами ссылку - там все в порядке.

Цитата Сообщение от краб Посмотреть сообщение
почему создются обьекты класса ?
Потому что Вы объявили публичные конструкторы и, блин, создаете сами объекты. См строки 50, 53.
краб
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 52
15.03.2014, 14:32  [ТС]     Синглтон для лог файла! #5
сейчас я сделал private коструктор у меня к моему классу нельзя будет в майне создать обьект ,по идее как работает синглетон я создаю пару обьектов класса он это видит и значение первого обьекта приравнивает всем а остальные обьекты даже ни создает
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
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++
C++ Создание лог файла. Нет подходящего конструктора по умолчанию

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

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

Текущее время: 23:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru