1. การเก็บข้อมูลตามโครงสร้าง struct
struct เป็นโครงสร้างข้อมูลที่เราเป็นผู้กำหนดขึ้นมาเอง โดยการนำข้อมูลชนิดพื้นฐานต่างๆ เช่น int, float, double, string เป็นต้น ประกอบเข้าด้วยกันตามความต้องการของเราว่าเราต้องการเก็บข้อมูล struct มีลักษณะคล้ายคลาส แต่ไม่ต้องสร้างออบเจ็กต์ขึ้นมาใข้งานข้อมูลที่เก็บอยู่ใน struct ถือเป็นการจัดเก็บข้อมูลชั่วคราวเช่นกัน เมื่อสิ้นสุดการทำงานข้อมูลที่มีอยู่เดิมก็จะหายไป
#include <iostream>
#include <string>
using namespace std;
struct Products {
int ProductID;
string ProductName;
int ProductPrice;
};
int main(int argc, char** argv)
{
Products p1;
p1.ProductID = 001;
p1.ProductName = "Shirt";
p1.ProductPrice = 199;
Products p2;
p2.ProductID = 002;
p2.ProductName = "Trousers";
p2.ProductPrice = 375;
cout << "---------------P1---------------" << endl;
cout << "Product ID : " << p1.ProductID << endl;
cout << "Product Name : " << p1.ProductName << endl;
cout << "Product Price : " << p1.ProductPrice << endl;
cout << "---------------P2---------------" << endl;
cout << "Product ID : " << p2.ProductID << endl;
cout << "Product Name : " << p2.ProductName << endl;
cout << "Product Price : " << p2.ProductPrice << endl;
system("pause");
return 0;
}
Result :
---------------P1---------------
Product ID : 1
Product Name : Shirt
Product Price : 199
---------------P2---------------
Product ID : 2
Product Name : Trousers
Product Price : 375
2. การสร้าง Method ใน struct
#include <iostream>
#include <string>
using namespace std;
struct Products {
int ProductID;
string ProductName;
int ProductPrice;
const float DCRate = 0.1;
double DCPrice(){
return ProductPrice - (ProductPrice * DCRate);
}
};
int main(int argc, char** argv)
{
Products p;
p.ProductID = 001;
p.ProductName = "Shirt";
p.ProductPrice = 199;
cout << "Product ID : " << p.ProductID << endl;
cout << "Product Name : " << p.ProductName << endl;
cout << "Product Price : " << p.ProductPrice << endl;
cout << "DC Price : " << p.DCPrice() << endl;
system("pause");
return 0;
}
Result :
Product ID : 1
Product Name : Shirt
Product Price : 199
DC Price : 179.1
3. การ Copy ข้อมูลจาก Struct หนึ่งไปอีก Struct หนึ่งด้วยฟังก์ชัน memcpy()
ถ้าเรามองว่าข้อมูลที่จัดเก็บอยุ่ในโครงสร้างแบบ struct คือ ข้อมูลชุดหนึ่งที่ถูกห่อรวมกัน ก็สามารถใช้ฟังก์ชัน memcpy() เข้ามาทำหน้าที่ copy ข้อมูลได้เช่นกัน#include <iostream>
#include <string>
using namespace std;
struct Products {
int ProductID;
string ProductName;
int ProductPrice;
};
int main(int argc, char** argv)
{
Products p1;
Products p2;
p1.ProductID = 001;
p1.ProductName = "Shirt";
p1.ProductPrice = 199;
memcpy(&p2, &p1, sizeof(p1));
cout << "---------------P2---------------" << endl;
cout << "Product ID : " << p2.ProductID << endl;
cout << "Product Name : " << p2.ProductName << endl;
cout << "Product Price : " << p2.ProductPrice << endl;
system("pause");
return 0;
}
Result :
---------------P2---------------
Product ID : 1
Product Name : Shirt
Product Price : 199
Sign up here with your email
ConversionConversion EmoticonEmoticon