การเริ่มต้นแบบไดนามิกของอ็อบเจ็กต์หมายถึงการเริ่มต้นอ็อบเจ็กต์ขณะรันไทม์ กล่าวคือ ค่าเริ่มต้นของอ็อบเจ็กต์จะถูกจัดเตรียมไว้ระหว่างรันไทม์ การเริ่มต้นแบบไดนามิกสามารถทำได้โดยใช้คอนสตรัคเตอร์และส่งค่าพารามิเตอร์ไปยังคอนสตรัคเตอร์ จำเป็นต้องมีการกำหนดค่าเริ่มต้นประเภทนี้เพื่อเริ่มต้นตัวแปรคลาสในระหว่างรันไทม์
เหตุใดเราจึงต้องมีการเริ่มต้นแบบไดนามิก
จำเป็นต้องมีการเริ่มต้นแบบไดนามิกของวัตถุเป็น
-
ใช้หน่วยความจำอย่างมีประสิทธิภาพ
-
สามารถจัดเตรียมรูปแบบการเริ่มต้นต่างๆ ได้โดยใช้ตัวสร้างที่โอเวอร์โหลด
-
มีความยืดหยุ่นในการใช้ข้อมูลรูปแบบต่างๆ ณ รันไทม์โดยพิจารณาจากสถานการณ์
โค้ดตัวอย่าง
#include <iostream> using namespace std; class simple_interest { float principle , time, rate ,interest; public: simple_interest (float a, float b, float c) { principle = a; time =b; rate = c; } void display ( ) { interest =(principle* rate* time)/100; cout<<"interest ="<<interest ; } }; int main() { float p,r,t; cout<<"principle amount, time and rate"<<endl; cout<<"2000 7.5 2"<<endl; simple_interest s1(2000,7.5,2);//dynamic initialization s1.display(); return 1; }
ผลลัพธ์
Enter principle amount ,rate and time 2000 7.5 2 Interest =300