การเริ่มต้นแบบไดนามิกของอ็อบเจ็กต์หมายถึงการเริ่มต้นอ็อบเจ็กต์ขณะรันไทม์ กล่าวคือ ค่าเริ่มต้นของอ็อบเจ็กต์จะถูกจัดเตรียมไว้ระหว่างรันไทม์ การเริ่มต้นแบบไดนามิกสามารถทำได้โดยใช้คอนสตรัคเตอร์และส่งค่าพารามิเตอร์ไปยังคอนสตรัคเตอร์ จำเป็นต้องมีการกำหนดค่าเริ่มต้นประเภทนี้เพื่อเริ่มต้นตัวแปรคลาสในระหว่างรันไทม์
เหตุใดเราจึงต้องมีการเริ่มต้นแบบไดนามิก
จำเป็นต้องมีการเริ่มต้นแบบไดนามิกของวัตถุเป็น
-
ใช้หน่วยความจำอย่างมีประสิทธิภาพ
-
สามารถจัดเตรียมรูปแบบการเริ่มต้นต่างๆ ได้โดยใช้ตัวสร้างที่โอเวอร์โหลด
-
มีความยืดหยุ่นในการใช้ข้อมูลรูปแบบต่างๆ ณ รันไทม์โดยพิจารณาจากสถานการณ์
โค้ดตัวอย่าง
#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