Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.55/22: Рейтинг темы: голосов - 22, средняя оценка - 4.55
4 / 4 / 1
Регистрация: 17.12.2017
Сообщений: 120

Аналог из Java в С++

03.05.2019, 13:07. Показов 4751. Ответов 50
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В наличии два классаog и его наследник Shepherd. Метод guard() принадлежит Shepherd , с Dog он не вызывается, но при данном вызове ((Shepheerd)dog).guard(); работает в Java. Как можно в с++ реализовать такое превращение типа
Java
1
2
3
Dog dog = new Shepherd(  контруктор );
dog.bark();
((Shepheerd)dog).guard();
Добавлено через 11 минут
Тоесть мне нужно создать объект класса Dog, но затем вызвать метод для этого объекта ,но из другого класса
C++
1
2
3
setlocale(LC_ALL, "RUS");
    Dog dog1 = Shepherd("Икита", 12, 12, 12);
    dog1.exam3();
то ему exam3() не известен.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.05.2019, 13:07
Ответы с готовыми решениями:

Аналог MoveNext на Java. Перевод программы с C# на Java
Написала программу на C#. Перевожу ее на Java. Проблема возникла в переводе нижеследующего куска программы. В связи с крайне слабым знанием...

Аналог Scanner из Java
Подскажите пожалуйста аналог scanner из Java. В гугле нашел метод Split, но мне он не очень подходит. У меня есть файл и я заранее знаю,...

Аналог дефине из С в Java
например: #define LROT13(x) (((x) << 14) | ((x) >> 18 )) ...... int hash = LROT13 (hash + ((hash << 8) ^ (hash >> 12))) - ...

50
143 / 92 / 34
Регистрация: 30.01.2018
Сообщений: 469
04.05.2019, 22:28
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от DieSeele Посмотреть сообщение
bool operator==(Student& left, Student& right){
* * * * return left.name == right.name && left.mark == right.mark;
* * }
Надо закинуть в класс student
C++
1
2
3
4
5
6
7
8
class Student
{
  /*...*/
public:
friend bool operator==(Student& left, Student& right){
    return left.name == right.name && left.mark == right.mark;
   }
};
1
зомбяк
 Аватар для TRam_
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
04.05.2019, 22:30
Цитата Сообщение от DieSeele Посмотреть сообщение
bool operator==(Student& left, Student& right){
* * * * return left.name == right.name && left.mark == right.mark;
* * }
Надо это добавлять в виде отдельной функции, а никак не внутри кода другой функции.

Добавлено через 59 секунд
Цитата Сообщение от Pashka Durov Посмотреть сообщение
Надо закинуть в класс student
Ну или так, если поля name, mark и т.д. в private или protected
1
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
04.05.2019, 22:53
Цитата Сообщение от Pashka Durov Посмотреть сообщение
Раньше люди точно знали, что земля плоская, и никто с этим не спорил, однако это оказалось не так.
Хе-хе, люди не знали, они просто не задумывались. Однако любой вопрос можно довести до абсурда, так что давайте не впадать в крайности.

Цитата Сообщение от Pashka Durov Посмотреть сообщение
В итоге мы получим специалистов, которые не думает и творят, а вставляют все по шаблону "как научили"
Если есть четкое понимание как надо делать правильно - так и надо делать. Вы сами пишите - живем не вечно, поэтому докапываться до каждого кирпичика - непозволительная роскошь. Будет нужно - узнаешь, не будет - значит оно тебе и не надо.
1
4 / 4 / 1
Регистрация: 17.12.2017
Сообщений: 120
06.05.2019, 19:53  [ТС]
Всем спасибо за помощь!Еще,кто может подсказать / кинуть линк . Нужно создать статистический класс ( создал) и с него как-то вызывать методы с базового класса.Просто со стат.методами понятно,но про стат.класс не очень.
0
143 / 92 / 34
Регистрация: 30.01.2018
Сообщений: 469
06.05.2019, 19:57
Цитата Сообщение от DieSeele Посмотреть сообщение
статистический класс
В С++ нельзя создать статический класс, мб ты имел ввиду "класс со статическими функциями"?
https://stackoverflow.com/ques... class-in-c
0
4 / 4 / 1
Регистрация: 17.12.2017
Сообщений: 120
06.05.2019, 20:06  [ТС]
Pashka Durov, Да,нужно создать класс со статическими функциями,которые будут браться с базового класса.Тоесть ,например ( возможно тут я что-то потерял очень важное, как говорят" на коленке с телефона" )
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Student{
public:
    string name;
Student(string name){
(*this).name = name;}
    void read(){
        cout << "Student" + name " reads";
    }
};
class Teacher{
    void static read();
    /*нужно чтобы вывод был с базового класса*/
};
int main(){
    Student stud[2] = {
        Student("Michael"),
        Student("Jack"),
    };
    Teacher.read(stud); /*это с явы взято*/
    /*вывод */
    
}
Выходит как бы Учитель отдает команду Читать студенту
0
4 / 4 / 1
Регистрация: 17.12.2017
Сообщений: 120
07.05.2019, 10:30  [ТС]
Возможно ли наследование для стат. методов?или делать все как при обычном наследовании и просто приписывать static ?
0
143 / 92 / 34
Регистрация: 30.01.2018
Сообщений: 469
07.05.2019, 16:01
Цитата Сообщение от DieSeele Посмотреть сообщение
Возможно ли наследование для стат. методов?или делать все как при обычном наследовании и просто приписывать static ?
Я не очень понимаю твою идею. Это как-то глупо наследовать статические методы, тем более статические методы должны работать только со статическими переменными, объясни, что хочешь сделать
0
4 / 4 / 1
Регистрация: 17.12.2017
Сообщений: 120
07.05.2019, 17:08  [ТС]
Pashka Durov, Реализовать класс, состоящий только из статических методов, среди которых имеющие параметры с типом данных базового и производного классов. в яве например класса Dog и Shepherd есть такое:
Java
1
2
3
4
5
6
public class DogTrainer{
static void run(Dog[] dogs){
for (Dog dog: dogs){
dog.run();
}
}
Добавлено через 45 секунд
Тоесть как реальзовать на с++ это,если статических классов нет?
0
143 / 92 / 34
Регистрация: 30.01.2018
Сообщений: 469
07.05.2019, 22:08
Лучший ответ Сообщение было отмечено DieSeele как решение

Решение

Что-то такое?
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
#include <iostream>
class Dog
{
    private:
    public:
    Dog()=default;
    ~Dog()=default;
};
class Trainer
{
    private:
    public:
    Trainer()=default;
    void static run(Dog dogs[], size_t size)
    {
        for (size_t i=0; i<size; ++i)
            std::cout << "Dog number "<< i <<" is running\n";
    }
    ~Trainer()=default;
};
 
class Student : public Trainer
{
    private:
    public:
    Student()=default;
    ~Student()=default;
};
 
int main()
{
    Dog dogs[3];
    Trainer::run(dogs, 3);
    Student::run(dogs, 3);
}
1
4 / 4 / 1
Регистрация: 17.12.2017
Сообщений: 120
08.05.2019, 19:04  [ТС]
Pashka Durov, Cпасибо Большое!!Немного переписал на то,что мне подходит)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.05.2019, 19:04

Аналог указателей из C++ в Java
Изучаю многим небезызвестную &quot;Паттерны проектирования&quot;. Там, как мы все знаем все примеры на C++. Есть там такой код: Mapsite* GetSide...

Аналог java RuleBasedCollator
Доброго дня. Есть java код public String Normalize(String name) { RuleBasedCollator collator =...

Аналог rdlc в java
Есть ли какие сборки (еще что-то) для создания отчетов типа rdlc от Microsoft? Крайне желательно free java древняя, 6

аналог odd на java
Существует ли в java функция на подобие odd в паскале?

Аналог вектора (из C++) в Java
Добрый вечер. Многие знают, что в C++ есть удобная структура данных - vector. В Java есть похожие структуры данных, типа ArrayList,...


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

Или воспользуйтесь поиском по форуму:
51
Ответ Создать тему
Новые блоги и статьи
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru