Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
13 / 13 / 7
Регистрация: 28.01.2012
Сообщений: 549
1

Проблемы с созданием класса

27.09.2013, 13:21. Показов 1880. Ответов 27
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class Source
{
        Source(String login,String password,String other)
        {
                Login = login;
                Password = password;
                Other = other;
        }
        public:
                String Login;
                String Password;
                String Other;
};
создал класс, но при попытке его использования

C++
1
Source* a = new Source("test","test2","");
выдает ошибку

[C++ Error] Unit1.cpp(61): E2247 'Source::Source(AnsiString,AnsiString,AnsiString)' is not accessible
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.09.2013, 13:21
Ответы с готовыми решениями:

Проблема с созданием объекта динамического массива Класса
Пишу в С++Builder 6. При работе программы вылетает ошибка на строке BookS = Buf; //Внесение данных...

Проблемы с созданием класса Матрица
Здравствуйте товарищи форумчане! Пишу с просьбой о помощи с созданием класса. Делаю класс матрица...

Проблемы с созданием процедуры
Есть условие:Создать хранимую процедуру, которая выводит количество сделанных деталей заданного...

Проблемы с созданием Ln логарифма
Всем привет, прошу прощения что пишу вам с такой просьбой, помочь сделать программу для решения Ln...

27
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31191 / 20389 / 7940
Регистрация: 22.10.2011
Сообщений: 35,359
Записей в блоге: 6
27.09.2013, 13:50 2
C++
1
2
3
4
5
6
7
8
9
class Source
{
    String Login;
    String Password;
    String Other;
public:
    Source(String login, String password, String other) :
        Login(login), Password(password), Other(other) {}
};
0
13 / 13 / 7
Регистрация: 28.01.2012
Сообщений: 549
27.09.2013, 13:54  [ТС] 3
благодарю, теперь другая ошибка

C++
1
void Add(Source* src)
[C++ Error] Unit1.cpp(33): E2293 ) expected
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31191 / 20389 / 7940
Регистрация: 22.10.2011
Сообщений: 35,359
Записей в блоге: 6
27.09.2013, 14:03 4
Не вижу:
Проблемы с созданием класса
0
13 / 13 / 7
Регистрация: 28.01.2012
Сообщений: 549
27.09.2013, 14:16  [ТС] 5
Проблемы с созданием класса


(загружено на форум)
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31191 / 20389 / 7940
Регистрация: 22.10.2011
Сообщений: 35,359
Записей в блоге: 6
27.09.2013, 14:21 6
А сделать так, чтобы на момент описания метода, описание класса Source уже было известно (хотя бы просто поменять описания классов местами) - не судьба?
1
13 / 13 / 7
Регистрация: 28.01.2012
Сообщений: 549
27.09.2013, 14:24  [ТС] 7
Цитата Сообщение от UI Посмотреть сообщение
А сделать так, чтобы на момент описания метода, описание класса Source уже было известно (хотя бы просто поменять описания классов местами) - не судьба?
Спасибо, не знал этого. В C# такой проблемы не было
0
13 / 13 / 7
Регистрация: 28.01.2012
Сообщений: 549
27.09.2013, 15:48  [ТС] 8
Как правильно перенести в отдельный класс?
0
Миниатюры
Проблемы с созданием класса  
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31191 / 20389 / 7940
Регистрация: 22.10.2011
Сообщений: 35,359
Записей в блоге: 6
27.09.2013, 15:52 9
Показывай код полностью. Догадываться, что там было ПЕРЕД тем фрагментом, который ты показал (а тем более еще и набивать вручную с твоей картинки) мне лично неинтересно.
0
13 / 13 / 7
Регистрация: 28.01.2012
Сообщений: 549
27.09.2013, 15:59  [ТС] 10
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
//---------------------------------------------------------------------------
 
 
#pragma hdrstop
 
#include "Unit2.h"
 
class Source
{
    public:
    Source(String login, String password, String other) :
    Login(login), Password(password), Other(other) {}
    String Login;
    String Password;
    String Other;
};
 
class Proxy
{
    public:
    Proxy(String ip, int port, String pclass) :
    Ip(ip), Port(port), PClass(pclass) {}
    String Ip;
    int Port;
    String PClass;
};
 
 
class SourceQueue
{       private:
                TList* list;
        public:
                SourceQueue() {list = new TList;}
        void Add(Source* src)
        {
                list->Add(src);
        }
 
        int Count()
        {
                return list->Count;
        }
 
        Source* GetNext()
        {
                Source* get = (Source*)list->Items[0];
                list->Delete(0);
                return get;
        }
 
 
};
 
class ProxyQueue
{
        public:
                ProxyQueue() {list = new TList;}
        private:
                TList* list;
        void Add(Proxy* src)
        {
                list->Add(src);
        }
 
        int Count()
        {
                return list->Count;
        }
 
        Proxy* GetNext()
        {
                Proxy* get = (Proxy*)list->Items[0];
                list->Delete(0);
                return get;
        }
 
 
};
 
//---------------------------------------------------------------------------
 
#pragma package(smart_init)
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31191 / 20389 / 7940
Регистрация: 22.10.2011
Сообщений: 35,359
Записей в блоге: 6
27.09.2013, 16:04 11
Если в Unit2.h (или в тех файлах, которые он за собой тянет) нет ничего, что имеет имена Source или Proxy - то все нормально компилируется...
0
13 / 13 / 7
Регистрация: 28.01.2012
Сообщений: 549
27.09.2013, 18:15  [ТС] 12
нет, абсолютно ничего нет, как создался

C++
1
2
3
4
5
6
//---------------------------------------------------------------------------
 
#ifndef Unit2H
#define Unit2H
//---------------------------------------------------------------------------
#endif
Добавлено через 1 час 58 минут
Но не хочет компилироваться
0
13 / 13 / 7
Регистрация: 28.01.2012
Сообщений: 549
27.09.2013, 18:16  [ТС] 13
вот, прикладываю проект
0
Вложения
Тип файла: rar WarZ.rar (8.7 Кб, 4 просмотров)
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31191 / 20389 / 7940
Регистрация: 22.10.2011
Сообщений: 35,359
Записей в блоге: 6
28.09.2013, 01:07 14
У меня в показанном тобой месте никаких ошибок нет, ошибка возникает совсем в другом месте, когда ты пытаешься по нажатию кнопки вызвать
C++
1
queue->Add(line);
, при том, что метод Add класса SourceQueue принимает не char*, а Source*...
0
13 / 13 / 7
Регистрация: 28.01.2012
Сообщений: 549
28.09.2013, 14:28  [ТС] 15
да, это я знаю, проблему решил выносом в головной файл и созданием public переменной, теперь есть другая проблема, создал класс MyThread, но из него не могу получить доступ к Form1

C++
1
#include "Unit1.h"
пытался прописать

Добавлено через 13 часов 6 минут
ап, в чем проблема может быть?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31191 / 20389 / 7940
Регистрация: 22.10.2011
Сообщений: 35,359
Записей в блоге: 6
28.09.2013, 14:32 16
Не забываем, что из потока работать с формой надо только через процедуры синхронизации... Но добавление Unit1.h должно решать проблему. Если нет - показывай код опять же, неизвестно, чего ты там еще накрутил...
0
13 / 13 / 7
Регистрация: 28.01.2012
Сообщений: 549
28.09.2013, 15:33  [ТС] 17
загрузил
0
Вложения
Тип файла: rar WarZ.rar (478.1 Кб, 2 просмотров)
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31191 / 20389 / 7940
Регистрация: 22.10.2011
Сообщений: 35,359
Записей в блоге: 6
28.09.2013, 16:07 18
C++
1
2
3
4
5
6
7
8
9
10
11
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include "CSPIN.h"
#include "Unit3.cpp" // <--- Это что за художества? Замени на #include "Unit3.h"
#include <Dialogs.hpp>
//---------------------------------------------------------------------------
1
13 / 13 / 7
Регистрация: 28.01.2012
Сообщений: 549
28.09.2013, 16:30  [ТС] 19
благодарю

Добавлено через 13 минут
И еще можно вопросик, как правильно добавить текст в Memo1, через void не получается, синхониз не хочет аргументы принимать
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31191 / 20389 / 7940
Регистрация: 22.10.2011
Сообщений: 35,359
Записей в блоге: 6
28.09.2013, 17:02 20
Что значит "не получается?"

C++
1
2
3
4
5
6
7
8
9
10
class MyThread : public TThread
{            
private:
    // Сюда добавляешь строковую переменную...
    String s;
protected:
    void __fastcall Execute();
public:
    __fastcall MyThread(bool CreateSuspended);
};
, в Execute() присваиваешь ей нужное значение (то, что надо записать в Memo), и вызываешь Synchronize(SyncMemo):

C++
1
2
3
4
void __fastcall MyThread::SynchMemo()
{
    Form1->Memo1->Lines->Add(s);
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.09.2013, 17:02

Проблемы с созданием объекта
Есть два класса public class Tname { public string name_eng; public...

Проблемы с созданием словаря на C++
Ребята-программисты, нужна срочная помощь, выдаёт такие ошибки: E0291 для класса &quot;Term&quot; не...

Проблемы с созданием объектов
Описан класс TPlanet: TPlanet = class (TObject) public name: string; ...

Проблемы с созданием форм из формы
При попытке создания формы из другой формы по процедуре: Sub Click(Source As Button) Dim ns As...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

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