lập trình hướng đối tượng tuần 4

các thư viện trong standard template library(STL)
vector<>
-lớp vector<> là lớp template quản lý mảng các phần tử(mảng động)
begin() lấy con trỏ đầu tiên của mảng, lấy con trỏ cuối cùng end()
vector::iterator it;
list<>
được dùng list, vector, và string chứ hồi trước không được dùng
mà list gần giống như vector
void main()
{
vector a;
for (int i = 0; i < 5; i++)
{
a.push_back(i);
}
cout << "vector is" << endl;
vector::iterator it;
for (it = a.begin(); it != a.end(); it++)
{
cout << *it;
}

}
vector xài mảng động 
còn list dùng con trỏ
-sơ đồ lớp
đi học không đầy đủ hay đọc lướt về nhà không nghiên cứu là cái chết nhanh nhất, đi học được thầy cô khẳng định các vấn đề mình đang nghiên cứu lỡ dở đi học muộn thôi đã mất rất nhiều kiến thức
-giờ đi từ kỹ thuật lập trình đến lập trình hướng đối tượng
-tuần sau lấy cột điểm giữa kì hay cột điểm quá trình quá quan trọng ôn 6 chương của lập trình hướng đối tượng
-mình chưa học tốt kĩ thuật lập trình sao học lập trình hướng đối tượng được đây
- tối còn làm đồ án hệ điều hành cho xong mai làm báo cáo
-thầy cô trên trường đại học dạy quá nhanh chưa hiểu gì đã đi tiếp không hướng đối tượng 
-đa hình phải dùng con trỏ 
list dsnv và tí nữa phải hàm thêm nhân viên phải truyền con trỏ nhân viên
void NVQuanLy::ThemNhanVien(NhanVien*pNV)
{
}
float NVQuanLy::TinhLuong()
{
float l=0;
int size=0;
list::iterator it;
for(it=NhanVien.begin();it!=NhanVien.end();i++)
{
//phải check có nhân viên nào hay không chứ nếu chia không nó sẽ bị lỗi
hiểu đa hình rồi con trỏ nó trỏ vào giá trị của nó giống như mảng mỗi phần tử có các phần tử khác nhau nên đó là đa hình//
//NhanVien* pW=*it hoặc như bên dưới
luong+=(*it)/*pW->luong();// khỏi cần cộng các đối tượng i gì cho mệt đây là lợi thế của đa hình
size++;
}
if(size=0)
slnv=1;
return luong=10000000+luong/size;
}
#include"nhanvien.h"
#include"nvVanPhong.h"
....
int main()
{
NhanVien*vp1=new NVVanPhong("vp1",20);
NhanVien*vp2=new NVVanPhong("vp2",10);
NhanVien*vp3=new NVVanPhong("vp2",13);
NVQuanLy qlnv("qlnv");
qlnv.ThemNhanVien(vp1);
qlnv.ThemNhanVien(vp2);
qlnv.ThemNhanVien(vp3);
float luongqlnv=qlnv.TinhLuong();
cout<
return 0;

}
dùng đa hình để sau này thêm 1 lớp thì cũng không cần phải code lại mà đi thừa kế là ok
-sao hồi trước mình sai lầm như vậy 
-đầu tiên là vẽ sơ đồ lớp rồi mới làm
-đầu tiên là vẽ được sơ đồ chương trình rồi mới làm
-nhác lười, sợ khó rồi trả giá, không kinh nghiệm không quan hệ không học hỏi, muốn đi nhanh thì phải nắm vững không tiến nhanh được không có chữ đi tắt đón đầu trong việc học, muốn đi nhanh thì phải đi từ từ chăm chỉ học hỏi từ người khác tích tiểu thì thành đại, chỉ có bản thân mình học hướng đối tượng đến bản thân mình thôi
cái truyền địa chỉ & thì thay cho truyền con trỏ và khỏi giải phóng bộ nhớ
int tinhgiatri(lista)//cái node sẽ chứa các địa chỉ của các đối tượng con cấp 1 //của nó
{
sum=0;
list::iterator it;
for(it=a.begin();it!=a.end();it++)//nósẽquéthếtcácđốitượngconcấp 1của lớp cha
{
sum+=(*it)->tinhgiatri();
}
return sum;
}
viết chương trình code chỉ là phụ ý tưởng thiết kế đối tượng là chính
cái mà kiểm tra là lập trình hàm mà không phải đa hình của lập trình hướng đối tượng
-1
0
0 bình luận