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

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

08.03.2016, 17:54. Показов 1516. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru