ก่อนที่เราจะเข้าสู่การเขียนโปรแกรมภาษา C++ กัน เราจะมาทำความเข้าใจกันอย่างละเอียด
ๆ กันก่อนถึงคำถามที่ผู้อยากเขียนโปรแกรมภาษา C++ สงสัยกันว่า ระหว่างภาษา C และ
C++ นั้นมีความแตกต่างกันอย่างไร และจะศึกษาภาษาใดถึงจะดีที่สุดในปัจจุบัน ผู้ที่จะตอบให้ได้ดีที่สุดนั้นก็คือ
ตัวท่านผู้ศึกษาเอง หนังสือและตำราทั้งหลายเป็นเพียงแหล่งข้อมูลเท่านั้น ดังนั้น
ในบทแรกนี้ เรามาทำความเข้าใจให้ตรงกันเสียก่อนว่า ทำไมจะต้องเป็น C++ แค่ C ยังไม่พออีกหรือ
ยินดีต้อนรับการก้าวเข้าสู่โลกของ C++ ณ บรรทัดต่อจากนี้
ถ้าจะอธิบายเริ่มจากประวัติของโปรแกรมคอมพิวเตอร์แล้วล่ะก็ อาจจะยาวเกินไป และบางท่านที่หยิบหนังสือเล่มนี้ก็คงจะมีความรู้และชั่วโมงบินในการเขียนโปรแกรมมากันแล้ว
จึงจะขอพูดถึงระดับของภาษากันเลย คือ ภาษาคอมพิวเตอร์นั้นแบ่งออกเป็น 2 ระดับใหญ่
ๆ คือ ระดับสูง (High Level Langauge) และระดับต่ำ (Low Level Langauge) แต่ในตำราบางเล่ม
อาจจะแบ่งถึง 3 ระดับก็ไม่เป็นไร
ภาษาระดับสูงนั้นได้แก่ ภาษา Basic , Pascal , C และภาษาคอมพิวเตอร์ที่ดูแล้วเข้าใจง่ายเพราะใช้คำในภาษาอังกฤษเป็นคำสั่งของภาษา
เราเรียนไม่เกินสัปดาห์ก็สามารถเขียนโปรแกรมเล็ก ๆ ได้แล้วครับ แต่สำหรับภาษาระดับต่ำนั้น
ได้แก่ ภาษาเครื่อง , แอสแซมบลี้ (Assembly) เป็นต้น ซึ่งเข้าใจได้ยาก เพราะบางคำสั่งเป็นตัวย่อ
หรือเป็นเลขฐาน แต่การทำงานของภาษาระดับต่ำนั้นเร็วครับ ติดต่อกับระบบเครื่องหรือระบบฮาร์ดแวร์ได้ดี
ภาษา C เป็นภาษาหนึ่งในภาษาระดับสูง และเป็นภาษาแบบโครงสร้างด้วย คือ ไม่จำเป็นต้องมีเลขประจำบรรทัด
ถ้าเราย้อนอดีตกลับไปในยุคที่คอมพิวเตอร์ยังไม่มีโปรแกรมระบบปฏิบัติการวินโดวส์
(Windows) กันเลย เรามีระบบปฏิบัติการดอส (DOS) การทำงานทุกอย่างจะอยู่ในดอสหมด
อยู่บนบรรทัดคำสั่ง การเขียนโปรแกรมในยุคนั้น ก็จะใช้โปรแกรมภาษาดังต่อไปนี้
ภาษา BASIC โดยมีโปรแกรม GWBASIC, BASICA, QBASIC เป็นตัวแปลภาษา
ภาษา Pascal โดยใช้โปรแกรม Turbo Pascal ในการแปลโปรแกรม
ภาษา C ใช้โปรแกรม Turbo C ในการแปลโปรแกรม
ภาษา Assembly ใช้โปรแกรม TASM , MASM ในการแปลโปรแกรม
นอกจากนี้ภาษาอื่น ๆ ที่ไม่ได้กล่าวถึงก็เช่นกัน การเขียนโปรแกรมจะเขียนบนตัวอิดิตเตอร์
(Editor) ที่มีมาให้กับตัวแปลภาษาเลย เมื่อเขียนโปรแกรมเสร็จแล้วก็จะทำการแปลโปรแกรม
หรือที่เรียกว่า Compile เราก็สามารถสร้างโปรแกรมประยุกต์ขึ้นมากันได้แล้ว ซึ่งจะทำงานในเท็กซ์โหมด
(Text Mode) และสามารถทำงานในกราฟิกโหมดได้ด้วย (Graphic Mode)
ในขณะที่ยุคของระบบปฏิบัติการแบบเท็กซ์ เช่น DOS กำลังจะถูกวินโดวส์เข้ามาแทนที่
การพัฒนาโปรแกรมก็เริ่มเปลี่ยนจากการพัฒนาโปรแกรมบนดอส มาเป็นการเขียนโปรแกรมบนวินโดวส์แทน
วินโดสว์ในยุคแรก ๆ ที่เราคุ้นเคยกันก็คือ Windows 3.1 , Windows for Workgroup
เป็นต้น
ในช่วงก่อนหน้านี้นั่นเอง ที่ได้เกิดแนวคิดที่เรียกว่า OOP ขึ้น OOP ย่อมาจาก Object
Oriented Programming ก็คือ แนวคิดในการมองทุก ๆ อย่างให้เป็นวัตถุนั่นเอง แนวคิดนี้
ได้กลายมาเป็นแนวคิดในการทำงานของระบบปฏิบัติการวินโดวส์และระบบปฏิบัติการหลาย
ๆ ตัวด้วยกัน และจากแนวคิดนี้เอง ก็ได้เกิดภาษาคอมพิวเตอร์ที่พัฒนาต่อมาจากภาษา
C นั่นก็คือ ภาษา C++ ซึ่งใช้โครงสร้างภาษาเหมือนกับภาษา C ทุกอย่าง แต่ได้เพิ่มความรัดกุมมากขึ้นในเรื่องของการใช้คำสั่งและฟังก์ชั่น
พร้อมกับได้เพิ่มความสามารถในการประกาศคลาส ซึ่งเป็นตัวแปรในแบบ OOP และหลังจากที่ภาษา
C++ และแนวคิดของ OOP เป็นที่ยอมรับ และได้นำไปใช้ในการพัฒนาโปรแกรมต่าง ๆ มากมาย
ไม่ว่าจะเป็นตัวระบบปฏิบัติการหรือโปรแกรมประยุกต์ ทั้งบนวินโดวส์และบนระบบปฏิบัติการอื่น
ๆ เช่น ลีนุกซ์ (Linux) และก็ยังมีการพัฒนาตัวแปลภาษาให้มีความสามารถสูงขึ้น ๆ
ตามความสามารถของระบบปฏิบัติการ เช่น Visual C++ , Visual Studio , Visual Studio
.NET เป็นต้น แต่อย่างไรก็ตาม พื้นฐานของภาษา C และการเขียนโปรแกรมแบบ OOP ใน C++
ก็ยังเป็นรากฐานในการพัฒนาภาษาใหม่ ๆ ขึ้นมาอีกหลายภาษา เช่น จาวา (Java) , ซีชาร์ป
(C#) เป็นต้น
การที่เราจะพัฒนาโปรแกรมภาษา C++ ได้นั้น จะต้องมีโปรแกรมสำหรับแปลภาษาก่อน นั่นก็คือ
Turbo C++, Borland C++ , Microsoft C/C++ , Visual C++ ฯลฯ.. โปรแกรมแปลภาษาเหล่านี้
สามารถแปลโปรแกรมได้ทั้งภาษา C และภาษา C++ ซึ่งก็ขึ้นอยู่กับว่าเรากำหนดให้นามสกุลของไฟล์เป็นภาษาอะไร
ถ้าเขียนโปรแกรมภาษา C ให้กำหนดนามสกุลของไฟล์โปรแกรมเป็น .C แต่ถ้าเขียนโปรแกรมที่มีการประกาศคลาสหรือใช้ความสามารถของ
OOP ด้วยล่ะก็ ให้กำหนดนามสกุลของไฟล์โปรแกรมนั้นให้เป็น .CPP
บางท่านอาจจะสงสัยว่า การบันทึกไฟล์โปรแกรมให้เป็น .C กับ .CPP นั้นมีข้อแตกต่างกันตรงไหน
เพื่อให้เข้าใจมากขึ้น เรามาดูตัวอย่างกันดีกว่า ยกตัวอย่างโปรแกรมภาษา C ชื่อ
TESTC.C ดังนี้
#include <stdio.h>
int a,b,c;
plus()
{
printf("ans=%d\n",c);
}
main()
{
a=10;
b=20;
c=a+b;
plus();
}
โปรแกรม TESTC.C นี้ ถ้าเราแปลโปรแกรมโดยใช้ Visual C++ จะไม่มีปัญหา สามารถทำงานได้ตามปกติ
แต่ถ้าเราบันทึกเป็นไฟล์นามสกุล TESTC.CPP ล่ะก็ แล้วแปลโปรแกรมด้วย Visual C++
ใหม่ จะเกิดข้อความเตือนเกี่ยวกับการคืนค่าของฟังก์ชั่น plus( ) ลักษณะนี้
warning C4508: 'plus' : function should return a value; 'void' return type assumed
warning C4508: 'main' : function should return a value; 'void' return type assumed
ข้อความเตือนในข้างต้น ได้บอกว่า ฟังก์ชั่น plus และ main นั้นจะต้องมีการคืนค่าโดยคำสั่ง
return ด้วย ที่เป็นเช่นนี้ก็เพราะว่า ในภาษา C++ นั้น มีข้อกำหนดอย่างหนึ่งก็คือ
ถ้าเราเขียนฟังก์ชั่นขึ้นมาลอย ๆ แบบในข้างต้น C++ จะถือว่าฟังก์ชั่นนั้นคืนค่ากลับมาเป็นแบบ
int ทันที ดังนั้น ถ้าเราสร้างฟังก์ชั่นแบบที่ไม่มีการคืนค่าใด ๆ กลับมา จะต้องใส่
void นำหน้าด้วยเพื่อเป็นการบอกให้ตัวแปลภาษาทราบว่าเป็นฟังก์ชั่นที่ไม่มีการคืนค่า
ดังนั้น โปรแกรมจะต้องเปลี่ยนเป็น TESTC.CPP ดังต่อไปนี้ ข้อความเตือนจากการแปลโปรแกรมก็จะไม่ปรากฏอีก
โปรแกรม TESTC.CPP มีดังนี้
#include <stdio.h>
int a,b,c;
void plus()
{
printf("ans=%d\n",c);
}
void main()
{
a=10;
b=20;
c=a+b;
plus();
}
ตรงจุดนี้คือ ข้อแตกต่างเล็ก ๆ น้อย ๆ ที่เราสามารถสังเกตได้จากการที่เรานำเอาโปรแกรมภาษา C มาแปลโปรแกรมในแบบ C++ ซึ่งจะเห็นได้ว่า การเขียนโปรแกรมภาษา C++ มีความเข้มงวดมากขึ้น เนื่องมาจากในการเขียนโปรแกรมแบบ OOP ในเรื่องของการสร้างฟังก์ชั่นในคลาสจำเป็นจะต้องระบุการคืนค่าของฟังก์ชั่นด้วย ไม่เช่นนั้น โปรแกรมอาจจะไม่สามารถแปลภาษาได้ รายละเอียดส่วนนี้เราจะได้ศึกษาในบทต่อ ๆ ไป
ความรู้พื้นฐานอย่างหนึ่งที่ท่านจะต้องศึกษาให้เข้าใจมากเป็นพิเศษก็คือการใช้งานฟังก์ชั่นในภาษา
C เพราะว่าเมื่อท่านเขียนโปรแกรมในระดับสูงขึ้นไป การเขียนโปรแกรมแบบหลาย ๆ บรรทัดเรียงกันเต็มหน้าจอก็จะไม่ค่อยมีให้เห็นอีกแล้ว
โดยมากโค้ดโปรแกรมที่ยาว ๆ จะถูกยุบให้เป็นฟังก์ชั่น ๆ หนึ่ง จากนั้นก็เรียกใช้เอาตามต้องการ
ดังนั้น เรื่องของฟังก์ชั่น จึงเป็นเรื่องพื้นฐานเรื่องแรกที่ท่านจะต้องทำความเข้าใจให้ดี
ก่อนเข้าสู่ C++ ทบทวนเรื่องของฟังก์ชั่น ดังต่อไปนี้
ท่านจะต้องศึกษาวิธีการที่ใช้ในการสร้างฟังก์ชั่นไว้ใช้เอง ออกแบบและสร้างได้อย่างไร
วางไว้ที่บรรทัดไหนในโปรแกรม ยกตัวอย่างเช่น ถ้าเราเขียนฟังก์ชั่นไว้ด้านล่างฟังก์ชั่น
main( ) ดังตัวอย่างต่อไปนี้
void main( )
{
call( );
}
void call( )
{
//
}
โค้ดในข้างต้นลักษณะนี้ ท่านจะไม่สามารถเรียกใช้ฟังก์ชั่น call( ) ได้ เนื่องมาจากฟังก์ชั่น
main( ) ไม่รู้จักฟังก์ชั่น call() เพราะว่ามันถูกเขียนเอาไว้ด้านล่าง จากบรรทัดที่อยู่ใน
main( ) มันมองหาฟังก์ชั่น call( ) ไม่เจอเมื่อเราแปลโปรแกรม เราจะพบกับข้อความ
Error ฟ้องออกมาว่า
Function "call" should have a prototype
ซึ่งมีความหมายเป็นภาษาไทยว่า
ถ้าจะให้เรียกฟังก์ชั่น call() ได้นั้น ให้ประกาศฟังก์ชั่นต้นแบบเอาไว้ก่อน main()
นะ
ฟังก์ชั่นต้นแบบ หรือ Prototype Function นี้ มีไว้เพื่อบอกให้ตัวแปลภาษารู้ว่า
ในโปรแกรมนี้ ยังมีฟังก์ชั่นชื่อว่า call( ) อยู่นะ แต่อยู่ด้านล่างของ main( )
ดังนั้น เราจะต้องแก้ไขโค้ดโปรแกรมให้เป็นดังนี้ จึงจะใช้ได้
void call( );
void main( )
{
call( );
}
void call( )
{
//
}
หรืออีกวิธีหนึ่งก็คือ ให้ประกาศฟังก์ชั่น call( ) เอาไว้ด้านบนก่อน main( ) เลย ดังนี้
void call( )
{
//
}
void main( )
{
call( );
}
เราสามารถกำหนดให้ฟังก์ชั่นส่งค่ากลับมายังจุดที่เรียกใช้ได้ โดยใช้คำสั่ง return
แต่ก่อนที่จะใช้คำสั่ง return นั้นเราจะต้องดูก่อนว่า เราจะส่งค่าประเภทใดกลับไป
ถ้าเป็นค่าจำนวนเต็ม เราจะต้องเปลี่ยนคำว่า void ที่อยู่หน้าฟังก์ชั่นให้เป็น int
ดังตัวอย่างต่อไปนี้
int call( );
void main( )
{
int a;
a = call( );
}
int call( )
{
return 5+6;
}
จากตัวอย่าง จะเห็นได้ว่าฟังก์ชั่น call( ) เป็นฟังก์ชั่นแบบ int และให้คืนค่า
5+6 (ซึ่งก็คือ 11) กลับไปยังจุดที่เรียกใช้ ดังนั้น ถ้าเราไม่เปลี่ยนจาก void
ให้มาเป็น int เราก็จะไม่สามารถส่งค่ากลับไปได้เลย
บางท่านอาจจะสงสัยว่า ในการเขียนฟังก์ชั่นให้ส่งค่ากลับนั้นมีดีที่ตรงไหน และมีประโยชน์อะไร
ถ้าเราเขียนโปรแกรมเล็ก ๆ น้อย ๆ เราอาจจะยังไม่เห็นประโยชน์ของมันมากนัก การคืนค่าจะช่วยให้ลดการสร้างตัวแปรได้มากขึ้น
เพราะฟังก์ชั่นจะทำงานเสมือนกับตัวแปร ๆ หนึ่ง และโค้ดโปรแกรมจะลดบรรทัดลง ท่านควรที่จะศึกษาเรื่องนี้ไว้
เพราะเมื่อท่านเขียนศึกษาการโปรแกรมไปเรื่อย ๆ และได้พบกับโจทย์ปัญหาบ่อย ๆ ท่านก็จะพบว่าการคืนค่ากลับจากฟังก์ชั่นนั้นจะช่วยให้การเขียนโปรแกรมของท่านมีความสดใสมากขึ้นเลยทีเดียว
เราสามารถส่งค่าให้กับฟังก์ชั่นได้ เพื่อให้ฟังก์ชั่นนำเอาค่าที่ส่งไปนี้ไปประมวลผล
เราเรียกค่าที่ส่งนี้ว่า พารามิเตอร์ หรือจะเรียกว่า อากิวเมนต์ ก็น่าจะได้เหมือนกัน
ลองดูตัวอย่างต่อไปนี้
#include <stdio.h>
int call( int a , int b );
void main( )
{
printf("answer = %d\n", call( 10 , 20 ) );
}
int call( int a , int b )
{
return a+b;
}
จากตัวอย่างจะเห็นได้ว่า ฟังก์ชั่น call รับพารามิเตอร์ 2 ตัวคือ a กับ b เราได้เรียกโดยผ่านฟังก์ชั่น
printf ส่งค่า 10 และ 20 ไปให้กับ call( ) และมันก็จะคืนค่ากลับมาโดยเอาเลขทั้งสองบวกกัน
เพราะฉะนั้น ฟังก์ชั่น call( ) จึงคืนค่ากลับมาเป็น 30 แสดงออกทางจอภาพโดย printf
ต่อมานั่นเอง
ความรู้พื้นฐานเรื่องของฟังก์ชั่นที่ได้กล่าวไปนี้ จะเป็นรากฐานสำคัญที่จะช่วยผลักดันให้เราศึกษาภาษา
C++ และ OOP ง่ายขึ้น เพราะในบทต่อ ๆ ไป ท่านจะพบกับการเรียกใช้ฟังก์ชั่น และการประกาศฟังก์ชั่นลักษณะนี้มากขึ้นเรื่อย
ๆ เมื่อท่านเข้าใจในเรื่องของฟังก์ชั่นแล้ว มันก็จะกลายเป็นเรื่องที่ทำความเข้าใจได้ง่ายขึ้น
เมื่อท่านศึกษาการเขียนโปรแกรม
การเริ่มต้นศึกษาการเขียนโปรแกรมภาษา C++ นั้น อันดับแรกควรจะเริ่มศึกษาจากภาษา
C ก่อน เพราะดังที่ได้อธิบายไปแล้ว ข้อแตกต่างระหว่าง C และ C++ ก็คือเรื่องของการประกาศคลาสในแบบของ
OOP และรายละเอียดปลีกย่อยอื่น ๆ เท่านั้น นอกจากนั้น เรายังคงใช้ความรู้เดิมที่เกี่ยวกับภาษา
C ล้วน ๆ
ผู้ที่ต้องการศึกษาภาษา C++ หลาย ๆ ท่านเคยถามว่า จะเรียน C++ เลยได้หรือไม่ ไม่ต้องเรียน
C ก่อน คำตอบก็คือ "ได้" แต่ถ้าท่านเข้าคอร์สเรียนภาษา C++ เลย ท่านจะได้เรียนเกี่ยวกับ
OOP , การสร้างคลาสในขณะที่คำสั่งเบื้องต้นของภาษา C ยังไม่ได้เรียนเลย และถ้าท่านจำเป็นจะต้องเขียนโปรแกรมด้วยภาษา
C++ เพื่อใช้ในการคำณวนเลขหรือทศนิยมล่ะ ท่านอาจจะทำไม่ได้เพราะพื้นฐานของภาษา
C ยังไม่มี
พราะฉะนั้น ถ้าท่านต้องการที่จะเขียนภาษา C++ ได้ ควรเริ่มที่ภาษา C อย่าไปติดอยู่ที่ว่ามันเป็นคนละภาษา
มันคือภาษาที่ต่อเนื่องกัน เหมือนกันกับเด็กที่โตขึ้นจนเป็นผู้ใหญ่ ไม่ใช่คนละคนกัน
แต่เป็นการต่อเนื่องเช่นเดียวกัน
ขอสมมติตัวอย่างง่าย ๆ ที่เห็นได้ชัด ๆ เลยก็คือ
นายเอก อยากเขียนโปรแกรมภาษา C++ เป็น นายเอกเคยศึกษาการเขียนโปรแกรม Visual Basic
กับ Delphi มาก่อน แต่ไม่เคยเรียนภาษา C หรือ C++ จากคอร์สไหนมาเลย นายเอกจึงเสาะแสวงหาที่เรียน
ไปเจออยู่ที่หนึ่ง เป็นคอร์สสอนภาษา C++ รายละเอียดของคอร์สนี้เขียนไว้ดังนี้
- คลาสและอ็อปเจ็กต์ (Class and Object)
- การสืบทอดคลาส (Inheritance in C++)
- โพลิมอฟิซึมใน OOP (Polymorphm in OOP)
- การประยุกต์ C++ บนวินโดวส์ (C++ for Windows Application)
ขอถามท่านผู้อ่านว่า นายเอกเมื่อเข้าคอร์สนี้แล้ว นายเอกจะเข้าใจใน C++ หรือไม่
??
เราลองมาพิจารณากัน ถ้านายเอกเข้าใจ ก็แสดงว่า นายเอกเป็นผู้ที่เก่งมาก ๆ เพราะเขาสามารถเข้าใจในการใช้
OOP กับ C++ ได้ แน่นอน นายเอกอาจจะเข้าใจในทฤษฎีของ OOP ระดับหนึ่ง เพราะมีความรู้ด้าน
Visual Basic และ Delphi มาบ้างแล้ว แต่เมื่อมาศึกษาในเรื่องของตัวภาษาของ C++
อาจจะสับสน เพราะถ้านายเอกไม่ได้มีความรู้ในเรื่องของภาษา C มาก่อนเลย นายเอกก็จะไม่รู้จักประเภทของตัวแปรในภาษา
C ไม่รู้ว่าการเขียน if..else และเครื่องหมายเปรียบเทียบในภาษา C นั้นเป็นอย่างไร
รู้แต่ในภาษา Visual Basic เท่านั้น เพราะฉะนั้น เราสามารถพอสรุปได้แล้วว่า ถ้าเราเริ่มต้นศึกษาภาษา
C++ เลยนั้น อาจจะต้องใช้เวลาที่นานสักหน่อย เพราะเราจะต้องหันกลับไปเปิดตำราดูคู่มือการเขียนโปรแกรมภาษา
C ควบคู่ไปด้วย
แต่ถ้านายเอก.. ศึกษาภาษา C มาก่อน นายเอกจะได้เรียนรู้ในเรื่องดังต่อไปนี้มาแล้ว
- การใช้คอมไพเลอร์และลิงค์เกอร์ในภาษา C
- ฟังก์ชั่น main( )
- การประกาศตัวแปรในภาษา C แบบ int , char , float , char *
- การเปรียบเทียบในภาษา C ( == , != , < , > , <= , >= )
- คำสั่งเปรียบเทียบและทำซ้ำ เช่น if..else , for( ) , do..while , while( )
- การคำณวนในภาษา C เช่น +, - , * , / , % , ++ , -- , *= เป็นต้น
- อะเรย์ 1 มิติ, 2 มิติ และ 3 มิติ
- การสร้างฟังก์ชั่นในภาษา C
- ตัวแปรแบบโครงสร้าง (Struct)
- การเขียนข้อมูลไฟล์และการอ่านไฟล์ (File I/O)
จากข้างต้น คือ เนื้อหาของภาษา C ที่นายเอกจะได้ศึกษา และเป็นเนื้อหาที่ท่านผู้อ่านหนังสือเล่มนี้ได้ศึกษากันมาในระดับหนึ่งแล้ว
เพราะฉะนั้น เมื่อท่านมาศึกษาต่อในเรื่องของ C++ กับหนังสือเล่มนี้ จะไม่ขออธิบายในเนื้อหาดังกล่าว
เพราะท่านสามารถศึกษาได้จากตำราภาษา C ของสำนักพิมพ์และผู้แต่งคนเดียวกันนี้
การศึกษาไปพร้อมกับหนังสือเล่มนี้
การศึกษาไปพร้อมกับหนังสือเล่มนี้ ขอให้ท่านศึกษาไปทีละลำดับ ๆ พร้อมกับทำตัวอย่าง
เนื้อหาแต่ละส่วน ๆ ได้ทำการจัดลำดับตามความยากง่ายเอาไว้แล้ว ซึ่งอาจจะแตกต่างออกไปจากตำราเล่มอื่น
เนื่องจากได้จัดลำดับเนื้อหาเพื่อเน้นการปฏิบัติจริงมากกว่าการอธิบายทฤษฎีของ OOP
ให้หมดก่อนแล้วค่อยเข้าสู่การปฏิบัติ
หลังจากที่ท่านได้ศึกษาเรื่องของ C++ และ OOP แล้ว ภาษาที่ท่านจะศึกษาต่อไป ท่านจะทำความเข้าใจกับมันได้ง่ายขึ้น
ไม่ว่าจะเป็น C# หรือภาษา Java เนื่องจากท่านได้ศึกษาแนวคิดของ OOP ด้วยภาษา C++
เรียบร้อยแล้ว ขอให้ท่านบอกกับตัวเองว่า "คิดในแบบวัตถุ" (Think in object)
แล้วท่านก็จะเข้าใจภาษา C++ และแนวคิดของ OOP โดยไม่ยาก
เอาล่ะครับ เรามาเปิดโลกของ "Object" กันในบทต่อไปเลยครับ