การสร้าง Class และการใช้งาน Class ในภาษา C++ มาดูวิธีการเขียนเลยครับ ก่อนอื่นให้เราสร้าง header(*.h) ก่อนครับ ไฟล์นี้จะเป็นตัวที่ใช้ระบุว่า Class เราชื่ออะไรมี method อะไรบ้าง มี field อะไรบ้าง รูปแบบการเขียนคือ
ไฟล์ cal.h
#include <stdio.h>
class cal{
public:
int plus(int a, int b);
int increase(int a);
private:
int increaseNum;
};
มีรายละเอียดดังนี้
- ชื่อ Class: cal
- method:
- int plus(int a, int b); <— Public
- int increase(int a); <— Public
- field:
- int increaseNum; <—Private
เมื่อเราเขียน 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; //สร้าง Object ของ Class cal
printf("Return from method plus: %d\n", objCal.plus(1,2)); //เรียกใช้ Method plus
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
- [path include]คือ path ของ directory ที่เรา include เข้ามา ถ้าเรา include ไฟล์ cal.h เข้ามา โดยที่ไฟล์ cal.h อยู่ใน directory “/home/user/test/” ให้เราระบุเป็น “/home/user/test/”
compile main.cpp ได้ออกมาเป็นไฟล์ main.o
g++ -I[path include] -c main.cpp
- [path include]คือ path ของ directory ที่เรา include เข้ามา ถ้าเรา include ไฟล์ cal.h เข้ามา โดยที่ไฟล์ cal.h อยู่ใน directory “/home/user/test/” ให้เราระบุเป็น “/home/user/test/”
compile ครั้งสุดท้ายเพื่อรวมทุกไฟล์ให้เป็น Execute ออกมาโดยใช้ชื่อ “mainexe”
g++ cal.o main.o -o mainexe