ใน C++ เราสามารถสร้างออบเจ็กต์ของคลาสได้ทั้งด้วยและไม่ใช่คีย์เวิร์ด new ถ้าไม่ใช้ new จะเหมือนออบเจ็กต์ทั่วไป จะถูกเก็บในส่วน Stack จะถูกทำลายเมื่อสิ้นสุด Scope แต่ถ้าเราต้องการจัดสรรหน่วยความจำสำหรับไอเท็มแบบไดนามิก (Dynamically) เราสามารถสร้างพอยน์เตอร์ของคลาสนั้น และสร้างอินสแตนซ์ด้วยออเปอเรเตอร์ new
ใน C++ new ใช้สำหรับจัดสรรหน่วยความจำแบบไดนามิก (Dynamic Memory Allocation)
ตัวอย่าง
#include <iostream> using namespace std; class Point { int x, y, z; public: Point(int x, int y, int z) { this->x = x; this->y = y; this->z = z; } void display() { cout << "(" << x << ", " << y << ", " << z << ")" << endl; } }; int main() { Point p1(10, 15, 20); p1.display(); Point *ptr; ptr = new Point(50, 60, 70); ptr->display(); }
ผลลัพธ์
(10, 15, 20) (50, 60, 70)