จากบทความ C++ OOP การสร้าง Class และการใช้งาน Class ผมอธิบายถึงการสร้าง Object แบบ Stack แต่ในบทความนี้ผมจะอธิบายเรื่องการสร้าง Object โดยใช้ Pointer ข้อแตกต่างกันคือ การสร้าง Object แบบ Stack จะคล้ายๆกับเราสร้างตัวแปรขึ้นมาตัวนึงเมื่อใช้งานเสร็จหรือจบโปรแกรม ระบบจะคืน memory หรือทําลาย Object นั้นทิ้งให้โดยอัตโนมัติ แต่ถ้าสร้าง Object แบบ Pointer จะไม่ทําลาย Object ให้เราเมื่อจบโปรแกรม เราจะต้องเป็นคนทําลาย Object เอง ทําสั่งที่ใช้ ทําลาย Object คือ “delete” ตามด้วย Object ที่ต้องการลบ _ถ้าเราไม่ลบ Object ที่เราสร้างขึ้น ระบบจะไม่สามารถเข้าใช้งาน memory ในส่วนนั้นได้ ทําให้เกิด memory leak _
ไฟล์ cal.h
#include <stdio.h>
class cal{
public:
int plus(int a, int b);
int increase(int a);
private:
int increaseNum;
};
มีรายละเอียดดังนี้
เมื่อเราเขียน file header(*.h) เรียบร้อยเราก็จะมาเขียน ไฟล์เนื้อหา หรือการทํางานของ Class กันครับ โดยจะมีนามสกุล *.cpp ไฟล์ cal.cpp
#include <cal.h>
int cal::plus(int a, int b){
return a+b;
}
int cal::increase(int a){
increaseNum = 1;
return(a+increaseNum);
}
เท่านี้เราก็จะได้ Class cal ตามที่ต้องการแล้วครับ ต่อมาเมื่อเราต้องการนํา Class นี้มาใช้งาน ในตัวอย่างนี้เราจะสร้าง main.cpp ขึ้นมาโดยมีเนื้อหาดังนี้ ไฟล์ main.cpp
#include <stdio.h>
#include <cal.h>
int main(void){
cal *objCal;
objCal = new cal();
printf("Return from method plus: %d\n", objCal->plus(1,2));
delete objCal;
return(0);
}
การ compile จะต้อง compile cal.cpp และ main.cpp ให้เป็น Object(*.o) ไฟล์ก่อน แล้วจึงนํา object ไฟล์มา compile รวมกันเป็น Execute ไฟล์อีกที compile cal.cpp ได้ออกมาเป็นไฟล์ cal.o
g++ -I[path include] -c cal.cpp
compile main.cpp ได้ออกมาเป็นไฟล์ main.o
g++ -I[path include] -c main.cpp
compile ครั้งสุดท้ายเพื่อรวมทุกไฟล์ให้เป็น Execute ออกมาโดยใช้ชื่อ “mainexe”
g++ cal.o main.o -o mainexe
เนื่องจาก Passport หมดอายุ จะต้องไปทําใหม่ ก็ได้ลองจองคิวผ่าน Internet ดูว่าจะเป็นอย่างไร อันดับแรกเข้าไปจองคิดที่เว็บ https://www.passport.in.th เค้าจะให้เราลงทะเบียนเพื่อจองคิว โดยใส่ข้อมูลส่วนตัวที่จําเป็น จากนั้นระบบจะให้เราเลือกวันเเละเวลา และสาขาที่ต้องการจะไปทํา Passport โดยจะเลือกวันล่วงหน้าได้ไม่เกิน 5 วัน
JetBeam EC-R16 เป็นไฟฉายขนาดเล็ก (2.2 ซม. x ยาว 7.1 ซม. x หัว 2.6 ซม.) ใช้แบตเตอรี่ CR123 หรือ 16340 ก็ได้ ความสว่างสูงสุด 750 Lumens รุ่นนี้สามารถเสียบชาร์จด้วย USB ได้ คุณสมบัติแบบละเอียดดังนี้
Serial เป็นรูปแบบการสื่อสารแบบ Asynchronous ชนิดหนึ่งที่ Arduino นํามาใช้ในการสื่อสารกับ Device อื่นๆ เช่น Computer, Arduino, Module Sensor ต่างๆ หรืออุปกรณ์อะไรก็ตามที่รองรับการส่งข้อมูลแบบ Serial สําหรับข้อมูลเพิ่มเติมของการสือสารแบบ Serial อ่านรายละเอียดเพิ่มเติมได้จากบนความนี้ครับ TTL UART RS232 คืออะไร