Đọc thông tin cấu trúc từ tập tin
Chào mọi người. Mình đang học OOP nên đang có một vấn đề
Tình hình là có 3 đối tượng Ổ cứng, Thư mục, Tập tin với cấu trúc như sau:
class File
{
private:
string FileName;
string Extension;
long Size;
...
class Folder
{
private:
string FolderName;
vector<File*> FileList;
...
class Disk
{
private:
string DiskName;
vector<Folder*> ListFolder;
...
và yêu cầu đề bài là đọc thông tin ổ cứng từ tập tin.
Vấn đề của mình là khi đọc những tập tin này (bao gồm tên và kích thước) để lưu vào một class thư mục và để thêm vào ổ cứng. nhưng do tính chất tự động hủy thì khi ra khỏi {} là vùng nhớ lại bị hủy do đó vector<*xxx> dữ liệu bị mất .
Vậy thì có cách nào xử lý không ?
Hàm của mình : http://pastebin.com/jve85fhB
xài
vector<File>
vàvector<Folder>
, cứ xem nó là mảngFile []
vàFolder []
, tại sao phải xài con trỏ?FileList.push_back(&file);
sửa thành
FileList.push_back(file);
là xong.
FileList.push_back(new File(…))
push_back(new ...)
thì phải viết dtor nữa, 1 vòngfor
đểdelete FileList[i];
mất công lắmMình đưa ra cách thứ 2 thôi, còn vẫn không muốn dùng con trỏ
Đề nó đặt v luôn. mình cũng đâu muốn dùng đâu
Thật khong thể tin được. Cám ơn các bạn . Mình sửa thành
thì ok ròi