С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
0 / 0 / 3
Регистрация: 16.11.2012
Сообщений: 52
1

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

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

Author24 — интернет-сервис помощи студентам
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 Мб, 4 просмотров)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.03.2014, 13:56
Ответы с готовыми решениями:

Regex для лог файла веб-сервера
Есть две строки (которые повторяются 10 000 раз) но дело не в том //string string1 =...

Класс для ведения лог-файла с ошибками
Есть у кого нибудь пример класса, который ведёт лог в файл, и записывает туда все ошибки, которые...

Скрипт для перемещения файлов с созданием лог-файла
Уважаемые форумчане, В этой сфере я полный чайник.. и поэтому прошу Вас помочь с написанием vbs...

Синглтон вызывает синглтон
Привет. Что-то запутался. Есть Синглтон(надеюсь я его правильно сделал): public class Table...

6
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
15.03.2014, 14:01 2
В 11 строке объявление статического поля, должно быть еще определение за пределами класса:
pole * pole::_F;

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

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

Цитата Сообщение от краб Посмотреть сообщение
почему создются обьекты класса ?
Потому что Вы объявили публичные конструкторы и, блин, создаете сами объекты. См строки 50, 53.
0
0 / 0 / 3
Регистрация: 16.11.2012
Сообщений: 52
15.03.2014, 14:32  [ТС] 5
сейчас я сделал private коструктор у меня к моему классу нельзя будет в майне создать обьект ,по идее как работает синглетон я создаю пару обьектов класса он это видит и значение первого обьекта приравнивает всем а остальные обьекты даже ни создает
0
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
15.03.2014, 14:43 6
Лучший ответ Сообщение было отмечено краб как решение

Решение

краб, смотрите внимательно статью, можно почитать что написано в книге GoF.
Вы не должны явно создавать объекты класса. Объект можно получать только путем вызова метода get_instance. За счет этого реализуется контроль за количеством объектов.
1
0 / 0 / 3
Регистрация: 16.11.2012
Сообщений: 52
15.03.2014, 14:52  [ТС] 7
явно не должны,спасибо тебе большое я суть не уловил спасибо
0
15.03.2014, 14:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.03.2014, 14:52
Помогаю со студенческими работами здесь

Проверка порта, синглтон для процесса и др
Всем привет. Подскажите, кто сталкивался с подобным. Первый вопрос: я слышал, что для проверки,...

[Unity, лайфхак] Как сделать адекватный синглтон (singleton или уникальный для сцены) компонент
Что такое singleton – я надеюсь знают все. Какие цели лично я преследую при использовании...

Ошибки лог-файла
Кто-нибудь знает что за ошибки в лог-файле? 1. File does not exist:...

Парсер лог файла
Доброго времени суток, нужна помощь. Обычно нахожу ответы на свои вопросы. Ранее писал парсеры...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru