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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
simplepilot
1 / 1 / 0
Регистрация: 22.07.2007
Сообщений: 366
#1

Видимость классов - C++

16.06.2008, 12:46. Просмотров 1415. Ответов 12
Метки нет (Все метки)

Как сделать что бы один класс мог работать с классом
который объявлен после него но использует его.
C++
1
2
3
4
5
6
7
8
9
class Cmd1
{
    Cmd1* var1;
}
 
class Cmd2
{
    Cmd2* var1;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2008, 12:46     Видимость классов
Посмотрите здесь:

Видимость в классах - C++
Дана программа #include<iostream> using namespace std; class a {protected: int a1; public: void fc() ...

Видимость переменных - C++
Ребят такой вопрос, Есть у меня класс А и наследуемый от него класс B, в классе B есть паблик переменная C Можно ли вызвать эту переменну...

Видимость переменной - C++
Подскажите пожалуйста, если у меня есть две функции, в которых мне надо использовать одну и ту же константу, правильнее будет сделать её...

Видимость переменной - C++
Доброго времени суток. Нужна небольшая консультация по программе. У меня программа состоит из нескольких методов в каждом из которых...

static и глобальная видимость - C++
прочитал что если писать static int a = 5; то a будет видно ото всюду но оказалосбь это не так... void a(); int main() { ...

Глобальная видимость переменной в проекте - C++
Как сделать, чтобы переменная была доступна в любой части проекта? Делаю так: // test_me_1.cpp: определяет точку входа для...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dima2002
0 / 0 / 0
Регистрация: 15.06.2008
Сообщений: 9
16.06.2008, 20:01     Видимость классов #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class B;
 
class A
{
 B * ptr;
//...
};
 
class B
{
 A
 * ptr;
//...
};
Andir
0 / 0 / 0
Регистрация: 04.11.2007
Сообщений: 145
17.06.2008, 09:27     Видимость классов #3
Привет !

и вообще юзай хедеры ... полезная штука ...

Удачи, Эндир !
simplepilot
1 / 1 / 0
Регистрация: 22.07.2007
Сообщений: 366
17.06.2008, 13:44  [ТС]     Видимость классов #4
У меня с этими h-файлами вообще полная засада. Что то я не могу разобраться как их создавать. В книжках про это что то не пишут. Меня уже достало делать 'третий класс' который будет первых два 'подсасывать' и между собой конектить.
P.S А что у тебя с ником (ты его зачем русифицировал)?
Andir
0 / 0 / 0
Регистрация: 04.11.2007
Сообщений: 145
17.06.2008, 14:46     Видимость классов #5
Привет !

Да лень было раскладку переключать ... (да и чтоб знали как правильно произносить ;-))
Про .h - файлы можно прочитать наверно в каждой книжке по c++.
Переноси в .h файлы определения функций, классов и т.д., а в файлах .cpp реализацию их делай
C++
1
2
3
4
5
6
7
// file: filename.h
class MyClass
{
public:
MyClass();
~MyClass();
};
C++
1
2
3
4
5
6
7
8
9
10
11
// file: filename.сpp
#include 'filename.h'
 
MyClass::MyClass()
{
// какой-то код конструктора
}
MyClass::~MyClass()
{
// какой-то код деструктора
}
Всё очень просто и доходчиво. Хочешь юзать два класса, подключай два хедера или определяй в одном хедере оба...

Удачи Andir !
simplepilot
1 / 1 / 0
Регистрация: 22.07.2007
Сообщений: 366
17.06.2008, 14:56  [ТС]     Видимость классов #6
Я так и делал, но что то пробелму того что один клас может юзать другой который тоже его юзает это по моему не решат. Но что то вспоминаю про указатели нам в универе говорили что указатели вставлять можно. Но он то блин вообще такой тип не узнаёт. Говорит что блин за гавно, нет такого типа ClassB и ведь не врёт, он же объявлен после класа А и компилятрор ещё до туда не дочитал...
simplepilot
1 / 1 / 0
Регистрация: 22.07.2007
Сообщений: 366
17.06.2008, 15:01  [ТС]     Видимость классов #7
Я так и делал, но что то пробелму того что один клас может юзать другой который тоже его юзает это по моему не решат. Но что то вспоминаю про указатели нам в универе говорили что указатели вставлять можно. Но он то блин вообще такой тип не узнаёт. Говорит что блин за гавно, нет такого типа ClassB и ведь не врёт, он же объявлен после класа А и компилятрор ещё до туда не дочитал...
Dima2002
0 / 0 / 0
Регистрация: 15.06.2008
Сообщений: 9
17.06.2008, 15:32     Видимость классов #8
Слушай это какой же ты универ имеешь в виду? Или ты не программист?
Тебе же объяснили, все просто:
C++
1
2
3
4
5
6
7
8
9
10
// First.h: interface for the CFirst class.
class CSecond;  // ВАЖНО!!!!!!!!!!
 
class CFirst  
{
public:
    CFirst();
    virtual ~CFirst();
    CSecond* m_pSecond;
};
C++
1
2
3
4
5
6
7
8
9
10
// Second.h: interface for the CSecond class.
class CFirst;  // ВАЖНО!!!!!!!!!!
 
class CSecond
{
public:
    CSecond();
    virtual ~CSecond();
    CFirst* m_pFirst;
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
// First.cpp: implementation of the CFirst class.
#include 'First.h'
#include 'Second.h'             // ВАЖНО!!!!!!!!!!
 
CFirst::CFirst()
{
    m_pSecond = new CSecond;
}
 
CFirst::~CFirst()
{
    if ( m_pSecond ) delete m_pSecond;
}
C++
1
2
3
4
5
6
7
8
9
// Second.cpp: implementation of the CSecond class.
#include 'Second.h'
#include 'First.h'             // ВАЖНО!!!!!!!!!!
 
CSecond::CSecond()
{}
 
CSecond::~CSecond()
{}
simplepilot
1 / 1 / 0
Регистрация: 22.07.2007
Сообщений: 366
17.06.2008, 16:30  [ТС]     Видимость классов #9
Универ МРТИ (БГУИР) в Минске - радиотех. Я нормально знал Си пока учился. Но потом я писал сначала на Delphi а потом на Java. Так что Си++ успел забыть. Тут вот взялся тексовый редакор писать на Api с подсветкой синтаксиса. Уже многое написал - по крайней мере статически синтаксис подсвечен и редактор работает (но очень хреново). Что бы упростить управление рещил сделать систему команд то есть документ создаёт команду а эта команда получает ссылку на документ, меняет его и записывается в UndoList. Но возникла проблема что и документ должен знать тип 'команда' и команда тип 'документ'
Dima2002
0 / 0 / 0
Регистрация: 15.06.2008
Сообщений: 9
17.06.2008, 17:31     Видимость классов #10
Блин, как тесен мир!!!!
Я тоже окончил БГУИР (в 1997 году).
А ты?
simplepilot
1 / 1 / 0
Регистрация: 22.07.2007
Сообщений: 366
17.06.2008, 18:01  [ТС]     Видимость классов #11
Я в 1998 ФВТ-ВМС. Ты сейчас в Минске работаешь ? я да.
Dima2002
0 / 0 / 0
Регистрация: 15.06.2008
Сообщений: 9
17.06.2008, 18:22     Видимость классов #12
Пока в Минске, но активно стремлюсь сделать ноги. Тут мой сосед (рабочие столы рядом стояли) (тоже РТИшник),вместе со мной кончавший уже 2 месяца как в Нью-Йорке. Стартовая зарплата - 50К $ в год. Неплохо, да? А кончал я ФВТ-ПОВТ. Но я после окончания 3 года херней маялся (бизнесом занимался), потом надоело. Вот сейчас активно английский, Вижуалку и оракул юзаю, готовлюсь...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2008, 19:35     Видимость классов
Еще ссылки по теме:

Видимость класса в других файлах - C++
Если я написал свой класс в файле 1.cpp, как я могу воспользоваться им в файле 2.cpp !?

Видимость переменной в разных файлах - C++
Добрый вечер) Помоги пожалуйста разобраться) Нужно чтобы переменная len из файла 2 попала (была определена) в файле 1. Компилятор выдает...

Видимость констант из глобальной области внутри класса - C++
#include <iostream> //stack struct struct node; struct node { int* val; node* prev; }; typedef struct node...

Видимость класса относительно другого класса - C++
class A;//Это просто поставили класс А в видимость класса В? class B { A a; }; class A{}; Я просто, трактовал это...


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

Или воспользуйтесь поиском по форуму:
simplepilot
1 / 1 / 0
Регистрация: 22.07.2007
Сообщений: 366
17.06.2008, 19:35  [ТС]     Видимость классов #13
Ясно. Ладно давай лучше по мылу а то типа из темы выбились
simplepilot@aport2000.ru
Yandex
Объявления
17.06.2008, 19:35     Видимость классов
Ответ Создать тему
Опции темы

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