Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
3 / 3 / 2
Регистрация: 17.11.2014
Сообщений: 194

Классы: определение идентификатора класса, в другом классе

08.03.2016, 17:54. Показов 1508. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток
Проблема в не знании, как идентифицировать переменную, использовавшаяся в другом классе.
// 1 IntelliSense: идентификатор "n" не определен c:\users\сергей\desktop\класс\класс\acls s.cpp 29 3 класс
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
#include "stdafx.h"
#include <cmath>
#include <iostream>
#define PI (3.1415926535897932384626433832795)
#define Lw (2.25)
using namespace std;
class jd
{
private:
    int D,M,Y,n;
public:
    void show()
    {
    cout << "day= "; cin >> D;
    cout << "month= "; cin >> M;
    cout << "year= "; cin >> Y;
    n=D - 32075 + 1461 * (Y + 4800 + (M - 14) / 12) / 4 + 367 * (M - 2 - (M - 14) / 12 * 12) / 12 - 3 * ((Y + 4900 + (M - 14) / 12) / 100) / 4;
    cout << "JD= " << n << endl;
}
};
class SSun { 
        jd jd2; 
private:
    double N,J,Ma,C,lam,x;
public:
void ssun()
    {
    jd2.show(); 
N=n - 2451545.0 + 0.0008;
J=(Lw/360)+N;
Ma=357.5291+0.98560028*J;
Ma=fmod(Ma,360);
Ma=Ma*PI/180;
C= 1.9148*sin(Ma) + 0.0200 * sin(2*Ma) + 0.0003 * sin(3*Ma);
Ma=357.5291+0.98560028*J;
lam=Ma+C+180+102.9372;
lam=fmod(lam,360);
lam=lam*PI/180;
x=sin(lam)*sin((23.44*PI/180));
x=tanf(x);
x=x*180/PI;
    }
};
 
int main ()
{
    jd jd1;
     jd1.show();
    system ("pause");
    return 1;
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.03.2016, 17:54
Ответы с готовыми решениями:

Классы (Использование функций класса в другом классе)
Доброго времени суток. У меня есть 3 класса: Forest, Plants и Grass. Хочу сделать, чтобы через указатель на объект класса Forest я мог...

Как использовать объект класса, созданого в определеном классе, в другом классе
У меня такой вопрос,как использовать объект класса,созданого в определеном классе,в другом классе.У меня есть объект pl класса Player,это...

Объект класса в другом классе
Здравствуйте! Недавно начал учить классы, прошу помогите мне. Мой написанный код не работает. Можете сказать, что с ним не так? ...

4
BrainOverflow
 Аватар для sab1ch
126 / 130 / 64
Регистрация: 31.03.2013
Сообщений: 556
08.03.2016, 18:12
Лучший ответ Сообщение было отмечено EvilSky как решение

Решение

EvilSky,
C++
1
2
3
4
5
6
class jd
{
protected: // здесь меняем на protected
    int D,M,Y,n;
public:
//....
C++
1
2
3
4
5
class SSun : public jd // тут делаем SSun родственником jd
{ 
private:
    double N,J,Ma,C,lam,x;
//.....
Наследование.
1
3 / 3 / 2
Регистрация: 17.11.2014
Сообщений: 194
08.03.2016, 19:58  [ТС]
Большое спасибо

Добавлено через 1 час 18 минут
Все равно получается, что он не получил значение от n прошлого класса
0
BrainOverflow
 Аватар для sab1ch
126 / 130 / 64
Регистрация: 31.03.2013
Сообщений: 556
08.03.2016, 20:29
EvilSky, он его не получил, потому что n изменяется в функции-члене show(), которую надо для начала вызвать, чтобы n изменился. А так, чтобы принимал без вызова функции, нужно сразу инициализировать его каким-то значением при объявлении.
0
3 / 3 / 2
Регистрация: 17.11.2014
Сообщений: 194
09.03.2016, 11:07  [ТС]
Пока надумал внутри jd-класса прописать еще фунцию, но не завезло
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class jd
{
protected:
    int D,M,Y,n;
public:
        void show()
    {
    cout << "day= "; cin >> D;
    cout << "month= "; cin >> M;
    cout << "year= "; cin >> Y;
    n=D - 32075 + 1461 * (Y + 4800 + (M - 14) / 12) / 4 + 367 * (M - 2 - (M - 14) / 12 * 12) / 12 - 3 * ((Y + 4900 + (M - 14) / 12) / 100) / 4;
    cout << "JD= " << n << endl;
            }
            void JD(int Day, int Month, int Year, int n1)
        {
        D=Day;
        M=Month;
        Y=Year;
        n=n1;
    }
};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.03.2016, 11:07
Помогаю со студенческими работами здесь

Создание класса в другом классе
Приветствую всех. Уважаемые гуру, скажите можно ли создавать класс в теле друго класса? Причем создание &quot;внутреннего&quot; класса идет...

Использование класса в другом классе
Мне нужно, чтобы при создании объекта класса Object также создавался объект класса SimpleCollider, но в том объекте. Далее я хочу...

Использование класса в другом классе
к примеру у меня есть класс class Class_Settings{ function test(){ .. тут вытягиваются переменные из базы ... return array(...

Использование класса в другом классе
Доброго времени суток. Вот начал изучать С# и дошло дело до классов. Вот вопрос. Я создал новый класс, как мне указать сылку на него в...

Создание объекта класса в другом классе!!!
//----------------------------------Address.h---------------------------------------------------- class Address { public: const...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru