Змінюй хід війни! Допомагай ЗСУ!

Методы С+, как обратиться из одного к другому без указателя?

🟢 13:16 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
Статус: Offline
Реєстрація: 08.04.2009
Повідом.: 18006
  • 🟢 13:16 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #1
Методы С+, как обратиться из одного к другому без указателя?

Обычно пишу на С, но решил сделать это зачем-то на С++.
Есть мысль обращаться из одного перегруженного метода класса в другой, но - или в метод надо передавать указатель на объект класса, или он его не видит. Как тут правильно писать?

*.h
Код:
class Serial{
public:
void setBaud (uint32_t br);// посчитает и запишет регистры
void start (uint32_t br);// обращается к setBaud и включает периферию
private:
uint32_t baud;
};

Вопрос - как правильно в *.cpp єто написать?

*.cpp
Код:
void Serial::setBaud (uint32_t br){
/* посчитали, записали*/
baud = br;
}

void Serial::start(uint32_t br){
/* как отсюда вызвать setBaud (br) */

}

Не хотелось бы писать указатели. Видел код, где допустимо тупо setBaud (br); , но єто, бля, ардуина, в ней вообще непонятно как работает.
Студия отказывается так видеть.

P.S. Да и не из перегруженного, пофиг, просто из метода в другой метод.
 
  • 🟢 13:16 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #2
this->setBaud(br) теж не працює?
 
  • 🟢 13:16 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #3
Методы объявлены как статические поэтому this неправильно использовать, и при этом обращаются к не статическим атрибутам может еще из за этого путаница. Думаю надо обращаться Serial::setBaud(br);
 
  • 🟢 13:16 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #4
  • 🟢 13:16 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #5
Методы объявлены как статические поэтому this неправильно использовать, и при этом обращаются к не статическим атрибутам может еще из за этого путаница. Думаю надо обращаться Serial::setBaud(br);

Если я сую прототип прямо в .h файл - там всё видит.
Я чего-то не понимаю в областях видимости. В .h, где объявлен сетБауд - там работает тупое setBaud(br).
 
  • 🟢 13:16 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #6
Добавить static к методам и свойствам в описании класса в заголовочном файле не пробовали?
 
  • 🟢 13:16 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #7
  • 🟢 13:16 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #8
  • 🟢 13:16 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #9
Назад
Зверху Знизу