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

Как объявить глобальную ссылку на клас с конструктором, принимающим один параметр - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Изображение в консольном приложении. http://www.cyberforum.ru/cpp-beginners/thread568148.html
Помогите, пожалуйста, с загрузкой и отображением изображений формата bmp в консольном приложении C++. Очень надо! Заранее спасибо.
C++ Вот такая необычная задача Задано определенную информацию о продуктах для изготовления определенного блюда и доступные продукти(название, количество,вес).Определить каких продуктов не хватает, если их хватает то сообщить об этом!!! Решите пожалуйста, очень нужно!!! http://www.cyberforum.ru/cpp-beginners/thread568138.html
Найдите такие натуральные числа, чтобы сумма их цифр, а также сумма цифр следующего за ним числа делилась на 7 C++
Помогите пожалуйста с задачей. Найдите натуральные числа такие, чтобы сумма их цифр следующего за ним числа делилась на 7. (язык С++) Заранее спасибо.
Если в данном массиве действительных чисел C++
Если в данном массиве действительных чисел а1,...,аn есть хотя бы один член, меньший чем -2,то все отрицательные члены заменить их квадратами.
C++ В упорядоченном по убыванию массиве определить, сколько имеется элементов со значением Р http://www.cyberforum.ru/cpp-beginners/thread568130.html
В упорядоченном по убыванию массиве определить сколько имеется элементов со значением Р.
C++ Записать данное целое число из диапазона от 1 до 1999 римскими цифрами Записать данное целое число из диапазона от 1 до 1999 римскими цифрами подробнее

Показать сообщение отдельно
Tolias28
202 / 117 / 2
Регистрация: 18.08.2010
Сообщений: 1,006
07.05.2012, 20:48     Как объявить глобальную ссылку на клас с конструктором, принимающим один параметр
Столкнулся с проблемой. Пытаюсь в классе №1 создать переменную класса №2, а уже потом в конструкторе класса №1 проинициализировать его, но не получается Компилятор сыпет мне кучу ошибок:
Error 1 error C2512: 'BinaryFile' : no appropriate default constructor available 71 1
Error 2 error C2064: term does not evaluate to a function taking 1 arguments 73 1
3 IntelliSense: no default constructor exists for class "BinaryFile" 72 2
4 IntelliSense: call of an object of a class type without appropriate operator() or conversion functions to pointer-to-function type 73 3
Ругается он именно на это место:
C++
1
2
3
4
5
    PhoneBook(string fileName)
    {
        bf(fileName);
        count = bf.GetNumberRecords();
    }
А весь код вот:
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <algorithm>
 
using namespace std;
 
struct pb_record{
    char name[25];
    int number;
};
 
class BinaryFile
{
private:
    string fileName;
public:
    BinaryFile(string fName)
    {
        fileName = fName;
    }
 
    bool AddRecord(pb_record pbr)
    {
        ofstream ofs(fileName, ios::binary | ios_base::in | ios_base::out);
        if (!ofs.is_open())
        {
            cout << "Unable to open file \"" << fileName << "\"" << endl;
            return false;
        }
 
        ofs.seekp(0, ios::end);
        ofs.write((char*)&pbr, sizeof(pb_record));
        ofs.close();
        return true;
    }
 
    int GetNumberRecords()
    {
        int count;
        ifstream ifs (fileName, ios::binary);
        if (!ifs.is_open())
        {
            count = 0;
        }
        else
        {
            ifs >> count;
        }
        ifs.close();
        return count;
    }
};
 
class PhoneBook
{
private:
    BinaryFile bf;
    int count;
public:
    PhoneBook(string fileName)
    {
        bf(fileName);
        count = bf.GetNumberRecords();
    }
 
    void Add()
    {
        pb_record pbr;
        cout << "Enter people name: ";
        cin >> pbr.name;
        cout << "Enter phone number: ";
        cin >> pbr.number;
        if(bf.AddRecord(pbr))
            cout << "Record successfully added!" << endl;
        else
            cout << "Could not add record." << endl;
    }
 
    //void Delete(int number);
    //void ShowRecord(int number);
    //void ShowAll(int number);
    //void Find(string peopleName);
};
 
int main()
{
    PhoneBook pb("PhoneBook.bin");
    fflush(stdin);
    cin.get();
}
Помогите пожалуйста
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 05:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru