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

เริ่มต้นใช้ Linode

Linode คืออะไรLinode เป็น เป็นผู้ให้บริการ VPS (Virtual Private Server) เจ้าหนึ่ง เช่นเดียวกับ Digital Ocean และ Vultr ที่สามารถควบคุมได้ทุกอย่าง ไม่ว่าจะลงโปรแกรม หรือ Config Server ต่างๆ เหมือนเราเป็นเจ้าของ Server เครื่องนั้นๆเลย ซึ่งเบื้องหลังเค้าไม่ได้ให้เราควบคุมเครื่องจริงๆ แต่จะจําลองเครื่อง Server ขึ้นมาให้เราได้ใช้งานเสมือนว่าเราเป็น

ESP32 Series รุ่นต่างๆ

สวัสดีครับ บทความนี้เราจะมารู้จักกับ Module ESP32 รุ่นต่างๆว่ามีกี่รุ่น และแต่ละรุ่นมีความแตกต่างกันอย่างไร

[ภาษาซี] อาร์เรย์ 1 มิติ

อาร์เรย์เปรียบเสมือนช่องสีเหลี่ยมมาเรียงต่อๆกันเป็นแถวยาว โดยแต่ละช่องจะเป็นที่สําหรับเก็บข้อมูล จํานวนของช่องที่มาเรียงต่อกันก็คือขนาดของอาร์เรย์ ในแต่ละช่องจะเป็นที่ข้อมูลได้ 1 ตัวตามชนิดของอาร์เรย์ที่ประกาศไว้


Copyright © 2019 - 2026 thiti.dev |  v1.61.0 |  Privacy policy | 

Build with ❤️ and Astro.

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