C++ OOP การสร้าง Class และการใช้งาน Class

6 Sep 2015,
Share: 

การสร้าง 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

Download ตัวอย่าง

Suggestion blogs

Go EP.5 Go Routine

สวัสดีครับ ในบทความนี้ก็เป็น EP.5 แล้วนะครับ โดยเนื้อหาจะเป็นเรื่องเกี่ยวกับ Go Routine ซึ่งเป็นเรื่องสําคัญมากในการพัฒนาโปรแกรมด้วยภาษา Go เพราะจะช่วยให้เราสามารถพัฒนาโปรแกรมที่มี Performance ที่ดีครับสําหรับท่านใดที่ยังไม่ได้อ่าน EP.4 ท่านสามารถกลับไปอ่านก่อนได้นะครับที่นี่ Go EP.4 Syntax ของภาษา Goมาเริ่มเรียนรู้ไปด้วยกันตามหัวข้อด้านล่างเลยครับ

Review จองคิวทํา passport online

เนื่องจาก Passport หมดอายุ จะต้องไปทําใหม่ ก็ได้ลองจองคิวผ่าน Internet ดูว่าจะเป็นอย่างไร อันดับแรกเข้าไปจองคิดที่เว็บ https://www.passport.in.th เค้าจะให้เราลงทะเบียนเพื่อจองคิว โดยใส่ข้อมูลส่วนตัวที่จําเป็น จากนั้นระบบจะให้เราเลือกวันเเละเวลา และสาขาที่ต้องการจะไปทํา Passport โดยจะเลือกวันล่วงหน้าได้ไม่เกิน 5 วัน

Go EP.3 Go packages คืออะไร

สวัสดีครับ ในบทความนี้ก็เป็น EP.3 แล้วนะครับ โดยเนื้อหาจะเป็นเรื่องเกี่ยวกับ Go packages ว่าคืออะไร ใช้ทําอะไร และมีประโยชน์อย่างไรสําหรับท่านใดที่ยังไม่ได้อ่าน EP.2 ท่านสามารถกลับไปอ่านก่อนได้นะครับที่นี่ Go EP.2 ทําความรู้จักกับ Go module


Copyright © 2019 - 2025 thiti.dev |  v1.58.0 |  Privacy policy | 

Build with ❤️ and Astro.

Github profile   Linkedin profile   Instagram   X profile   Nostr   Youtube channel   Telegram   Email contact   วงแหวนเว็บ