Как написать свою библиотеку?

хорошо)

вроде что то получается. уже можно микро библиотеку делать. безполезную конечно )

class my_test {
 public:
 static String s_value;
 
 };

String my_test::s_value;     

my_test first; 

void setup(){
     Serial.begin(9600);          
}

void loop() {   

 first.s_value = "arduino :)";  
      
Serial.println (first.s_value);  
          
}

Не нужно делать бесполезную библиртеку, надо делать полезный объект. С++ - это объектно ориентированный язык (если это Вам что-то говорит).

Можете обьяснить, в чем смысл слова static на третьей строке?

1 лайк

а чтоб было интереснее, я ваш код слегка модифицирую, добавив второй экземпляр класса.

запустите и посмотрите, что получится. Попробуйте обьяснить.

1 лайк

Чудо ))

вот этот момент не понял. но если static удалить. ошибка будет, пытался это делать поэтому оставил как есть.
Может это обьявлен header (заголовок)?

пока что в целях обучения такая задача была )

создали класс с именем my_test
public - будет отображаться и в чамом скетче а не как тип private который закрытый и доступный только в файле cpp.
создали переменную типа string с именем ```
s_value


my_test first, second; -  классу присваиваем имена first и second

[quote="genia1991, post:43, topic:10743"]

first.s_value = "Hello ";
second.s_value = “arduino :)”;

[/quote]

hello arduino :) как хранится в памяти как string и выводится в serial как hello arduino :)

пошла жара…

my_test first, second; -  классу присваиваем имена first и second

hello arduino :) как хранится в памяти как string и выводится в serial как hello arduino :)

нет, заведу ка я все таки тему по перлам на форуме.

1 лайк

Вам же сказали:

а вы теоретизируете. Запускайте, давайте.

Можно ли мне уточнить?

Все дружно глумятся над неконфликтным чайником, который в меру своих способностей пытается учиться. Я же говню обычно чрезмерно “гордых человеков”, требующих безусловного уважения.
Но эталонный хам - за совершенно невинную шутку про “знакомство с папой” - при всём этом я???!!! ЁВМ! Это не похоже на полную несправедливость? Вот реально бесит!

разве?

Человек написал класс, я ему по этому классу вопросы задаю.
Глумление где???

1 лайк

ошибка там возникает не поэтому…
Ну да ладно, вы сначала мою задачку запустите, а потом посмотрим

завтра запущу уже. сейчас не могу уже.
Наверное в том скетче ошибка :slight_smile:
Если это так то думаю смогу исправить ее.

Читаю книга по с++ на 1000 стр сейчас

Вспоминается анекдот про машинистку с 1000 знаков в минуту.

2 лайка

Переменные-члены класса можно сделать статическими, используя ключевое слово
static. В отличие от обычных переменных-членов, статические переменные-члены
являются общими для всех объектов класса.

он получается отрабатывает значение только один раз без хранения предыдущего значения и на его место можно уже дописывать другой String ведь предыдущий он стирает с памяти?
Поэтому в примере и был добавлет еще один:

second.s_value = "arduino :)"

Тваю ж дивизию! Да, запустите ж Вы его, наконец! И пока не запустите не пишите сюда ни одной сраной буквы! Вообще - ни одной!

А то, блин запустить

а ахинею несть - пожалуйста!

Дорогой! У тебя инет отключили? В процессе обучения ты где запускаешь свои нетленки?
Ты не слышал про http://wokwi.com? Ничего, кроме инета для этого не нужно.

1 лайк

я пять раз перечитал :face_with_monocle: :exploding_head:

Рановато, мне кажется, юному падавану библиотеки писать свои. Для начала нужно разобраться с классами (хотя и без них можно библиотеки писать, но с ними в разы удобнее).
Начать с определений, хотя бы.
1) Что такое класс?
2) Что такое экземпляр класса?
3) Что такое член класса?
4) Что такое метод класса?

А потом уже можно и главные “фишки” ООП добавить:
5) Что такое инкапсуляция?
6) Что такое наследование?
7) Что такое полиморфизм?

Без 5-7 сейчас можно и обойтись легко, на данном этапе, а вот без 1-4 - ну никак.