Logo | |
|
| [Thi OOP] Nhiêu đây là quá đủ để đậu! | |
| Tác giả | Thông điệp |
---|
Sakura
Thú CƯng :
Số bài viết : 1124 Điểm : 1688 Được cảm ơn : 35 Ngày sinh : 03/11/1990 Tham gia ngày : 16/03/2010 Tuổi : 34 Đến từ : Bình Dương Ngề nghiệp : IT Student
| Tiêu đề: [Thi OOP] Nhiêu đây là quá đủ để đậu! 22/9/2010, 11:13 | |
| OOP – Những Điều Căn Bản Đến Hơi Căn Bản – THI Chào các bạn! Hôm nay mình lập topic này nhằm giúp chúng ta – nhất là các bạn chưa hiểu rõ về OOP có thể làm bài thi tốt nếu làm được những thứ vô cùng đơn giản sau đây: 1. OOP là gì? Đó chỉ là Lập trình hướng đối tượng thôi. 2. Lập trình hướng đối tượng là lập trình kiểu nào?Đó chỉ là mô tả mọi thứ vào các Class và viết hàm xử lý – Như lập trình cấu trúc thì mô tả mọi thứ vào Struct. 3. Các thuật ngữ cơ bản nhất:OOP - Lập trình hướng đối tượng. Class – lớp đối tượng – nơi ta sẽ khai báo thuộc tính và phương thức cho đối tượng đó. Ví dụ: ta khai báo 1 class MEO (con mèo đó) thì nó sẽ có các thuộc tính (đặc điểm) như màu lông, cân nặng, chiều cao, giới tính. Và cho nó thêm vài phương thức (hành động) nữa như: kêu “meo meo”, chạy, ăn, bắt chuột. Thế là ta đã làm ra con mèo rồi đó! 4. Đối tượng (Object) : là thể hiện hay thực thể tồn tại thực tế của 1 lớp cụ thể (khó hiểu quá) – đơn giản hơn là nhà tui có con mèo đen, nhà ông có con mèo vàng, 2 con mèo này thuộc lớp Mèo cả, và ta gọi chúng là đối tượng của lớp Mèo. 5. Thuộc tính (Property) : là đặc điểm của đối tượng. Ví dụ, cho con mèo với các thuộc tính như màu lông, cân nặng, chiều cao, giới tính. ARRAY thì có mảng data[100], số phần tử n. 6. Phương thức (Method) : là hành động của đối tượng. Ví dụ con mèo biết đi, chạy, ăn. Cái ARRAY thì biết nhập, xuất… 7. Constructor : khởi tạo ban đầu cho đối tượng, ví dụ ta tạo ra con mèo, và ban đầu nó có lông đen, mắt đỏ, 4 chân, và chưa biết gì hết, thì đó là ta tạo ra con mèo ban đầu như vậy. Có 3 loại Constructor : Constructor, mặc định không đối số, Constructor có đối số, Constructor sao chép (chỉ dùng nếu có các thuộc tính là con trỏ *). Khi ta không khai báo 1 Constructor nào thì mặc định nó là Constructor không có đối số với các giá trị ban đầu của cac thuộc tính là NULL ứng với chuỗi và 0 đối với số. 8. Destructor : Dùng để hủy vùng nhớ khi cấp phát cho đối tượng. Thường thì khi ta có con trỏ trong thuộc tính thì mới dùng anh này, không thì thôi Kinh nghiệm : thui thấy mấy anh lanh chanh, chơi con trỏ vào, rồi nào là Constructor copy, Destructor.. và rồi tha hồ mà ngắm mấy con giun (con trỏ) nó chạy lòng dòng báo lỗi chơi. Mà nếu xài mảng tĩnh thì ko cần chi mấy thứ đó, có cũng dư thừa. -> Ko hiểu bài nè. 9. Public : thường thì các phương thức nằm trong public. 10. Private: thường thì các thuộc tính nằm trong private 11. Protected: thường thì nếu lớp này muốn cho lớp khác kế thừa thì đặt các thuộc tính trong protected, không nên trong private nha! 12. Thừa kế: ví dụ tui có 1 muốn xây 1 căn nhà 3 tầng, nhưng đang xây được 2 tầng thì hết lúa. Và lúc đó ta được là căn nhà 2 tầng. Sau này có tiền thì ta muốn xây căn nhà 3 tầng đó. Chẳng lẽ lại xây mới, ko ai dại gì, ta tiếp tục nâng cấp căn nhà 2 tầng lên thành căn nhà 3 tầng. Tức là căn nhà 3 tầng nó đã thừa kế 2 tầng từ căn nhà 2 tầng kia. Đó là thừa kế. Thừa kế là đặc điểm rất rất quan trọng trong OOP. Nhờ nó mà ta sẽ không phải mất công xây lại từ đầu các ứng dụng của ta. 13. Đa hình: cái này các bạn tự tìm hiểu đi -> ko thi, ko nói. Good! 14. Overload toán tử: trong các KDL tự định nghĩa (ko hỉu cứ nói) thì anh C++ và tất cả ngôn ngữ khác không định nghĩa trước cho chúng ta các toán tử cổ điển như: + - * /, >>, << =, ==, > , <… Vì vậy ta phải tự viết thôi. Tạm thời là vậy đi, Ai ko hiểu thì ráng đọc cho hiểu, ko hiểu nữa thì đọc sách, ko hiểu nữa thì cứ pmm mình hoặc các Mr. Pro trong lớp. Phần tiếp theo sẽ là 1 bài tập minh họa mẫu cực kỳ Kute và dễ hiểu. |
| | | Sakura
Thú CƯng :
Số bài viết : 1124 Điểm : 1688 Được cảm ơn : 35 Ngày sinh : 03/11/1990 Tham gia ngày : 16/03/2010 Tuổi : 34 Đến từ : Bình Dương Ngề nghiệp : IT Student
| Tiêu đề: Re: [Thi OOP] Nhiêu đây là quá đủ để đậu! 22/9/2010, 11:16 | |
| Tiếp theo là phần bài tập mẫu. Mình sẽ Demo 1 bài QUẢN LÝ NHÂN VIÊN đi. Vì Nhân viên nghe có vẻ gần với khái niệm đối tượng hơn là cái ARRAY : ))Đề bài: Xây dựng lớp NHANVIEN với các thuộc tính: mã nhân viên, tên nhân viên, lương. Với các phương thức: nhập xuất, Overload các toán tử >>, <<, == (so sánh lương nhân viên), = (gán anh này bằng anh kia). Thế thôi. Các bước làm: các bạn có thể tham khảo hoặc tự thiết kế các bước làm cho riêng mình, luyện tập nó cho max kill đi là Vô đối rồi.1. Nhào vô,…… #include các thư viện trước đã. 2. Tiếp theo vẽ ngay cái class liền Thiết kế như sau: - Code:
-
class NHANVIEN {
}; Chú ý có dấu ; cuối class nhé. 3. Sau đó làm thêm vài thuộc tính trong đề bài: mã nhân viên, tên nhân viên, lương. Và nhớ để trong private - Code:
-
4. class NHANVIEN 5. { 6. //Properties 7. private: 8. char ma[15]; 9. char ten[30]; 10. Unsigned long luong; 11. 12. }; Sau đó viết mấy cái thiết lập cái, Do đề không yêu cầu có cái hàm thiết lập nào, nên mình viết đại 2 cái đi, cái mặc định với cái có đối số là OK! Nhớ là phải để trong public. Và từ đây, có thể là tất cả mọi thứ sẽ là public. - Code:
-
class NHANVIEN { //Properties private: char ma[15]; char ten[30]; unsigned long luong;
public: //Constructor Mac Dinh NHANVIEN() { strcpy(ma, ""); strcpy(ten, ""); luong = 0; }
//Khoi tao co doi so NHANVIEN(char _ma[15], char _ten[30], unsigned long _luong) { ThietLap(_ma, _ten, _luong); }
void ThietLap(char _ma[15], char _ten[30], unsigned long _luong) { strcpy(ma, _ma); strcpy(ten, _ten); if(_luong < 0) luong = 0; else luong = _luong; }
}; Chú ý hàm thiết lập là hàm trung gian, để truyền các đối số hợp lệ vào class. Ko nên truyền trực tiếp vào hàm Constructor có đối số, như vậy có thể phá hủy thuộc tính của đố tượng 1 cách vô tình mà ta ko thể lường trước được. OK. Tiếp theo là hàm nhập, xuất. - Code:
-
class NHANVIEN { //Properties private: char ma[15]; char ten[30]; unsigned long luong;
public: //Constructor Mac Dinh NHANVIEN() { strcpy(ma, ""); strcpy(ten, ""); luong = 0; }
//Khoi tao co doi so NHANVIEN(char _ma[15], char _ten[30], unsigned long _luong) { ThietLap(_ma, _ten, _luong); }
void ThietLap(char _ma[15], char _ten[30], unsigned long _luong) { strcpy(ma, _ma); strcpy(ten, _ten); if(_luong < 0) luong = 0; else luong = _luong; }
void Nhap() { cout<<"Nhap Ma: "; gets(ma); fflush(stdin); cout<<"\nNhap Ten: "; gets(ten); fflush(stdin); cout<<"\nNhap Luong: "; cin>>luong; }
void Xuat() { cout<<"\nMa: "; cout<<ma; cout<<"\nTen: "; cout<<ten; cout<<"\nLuong: "; cout<<luong; }
}; Test thử trong main cái: - Code:
-
int main() { NHANVIEN A; A.Nhap(); A.Xuat(); _getch(); } Và kết quả sẽ là: - Code:
-
Nhap Ma: 1
Nhap Ten: Le Xuan Hoang
Nhap Luong: 10000000
Ma: 1 Ten: Le Xuan Hoang Luong: 10000000 OK! Tiếp theo sẽ là hàm Overload toán tử >>, <<. Các bạn chú ý cú pháp nhá. <<: tương đương cout<< Cú pháp: - Code:
-
friend ostream &operator<<(ostream &o, NHANVIEN A) { return o; } >>: tương đương cin>> Cú pháp: - Code:
-
friend istream &operator>>(istream &i, NHANVIEN &A) { return i; } OK! Sau đó ta viết cụ thể cho 2 hàm đó như sau: - Code:
-
class NHANVIEN { //Properties private: char ma[15]; char ten[30]; unsigned long luong;
public: //Constructor Mac Dinh NHANVIEN() { strcpy(ma, ""); strcpy(ten, ""); luong = 0; }
//Khoi tao co doi so NHANVIEN(char _ma[15], char _ten[30], unsigned long _luong) { ThietLap(_ma, _ten, _luong); }
void ThietLap(char _ma[15], char _ten[30], unsigned long _luong) { strcpy(ma, _ma); strcpy(ten, _ten); if(_luong < 0) luong = 0; else luong = _luong; }
void Nhap() { cout<<"Nhap Ma: "; gets(ma); fflush(stdin); cout<<"\nNhap Ten: "; gets(ten); fflush(stdin); cout<<"\nNhap Luong: "; cin>>luong; }
void Xuat() { cout<<"\nMa: "; cout<<ma; cout<<"\nTen: "; cout<<ten; cout<<"\nLuong: "; cout<<luong; }
friend ostream &operator<<(ostream &o, NHANVIEN A) { cout<<"\nMa: "; o<<A.ma; cout<<"\nTen: "; o<<A.ten; cout<<"\nLuong: "; o<<A.luong; return o; }
friend istream &operator>>(istream &i, NHANVIEN &A) { cout<<"Nhap Ma: "; i>>A.ma; fflush(stdin); cout<<"\nNhap Ten: "; i>>A.ten; fflush(stdin); cout<<"\nNhap Luong: "; i>>A.luong; return i; }
}; Test trong main int main() { NHANVIEN A; cin>>A; cout< _getch(); } Và kết quả cũng là: - Code:
-
Nhap Ma: 1
Nhap Ten: Le Xuan Hoang
Nhap Luong: 10000000
Ma: 1 Ten: Le Xuan Hoang Luong: 10000000 Tiếp theo là toán tử = - Code:
-
class NHANVIEN { //Properties private: char ma[15]; char ten[30]; unsigned long luong;
public: //Constructor Mac Dinh NHANVIEN() { strcpy(ma, ""); strcpy(ten, ""); luong = 0; }
//Khoi tao co doi so NHANVIEN(char _ma[15], char _ten[30], unsigned long _luong) { ThietLap(_ma, _ten, _luong); }
void ThietLap(char _ma[15], char _ten[30], unsigned long _luong) { strcpy(ma, _ma); strcpy(ten, _ten); if(_luong < 0) luong = 0; else luong = _luong; }
void Nhap() { cout<<"Nhap Ma: "; gets(ma); fflush(stdin); cout<<"\nNhap Ten: "; gets(ten); fflush(stdin); cout<<"\nNhap Luong: "; cin>>luong; }
void Xuat() { cout<<"\nMa: "; cout<<ma; cout<<"\nTen: "; cout<<ten; cout<<"\nLuong: "; cout<<luong; }
friend ostream &operator<<(ostream &o, NHANVIEN A) { cout<<"\nMa: "; o<<A.ma; cout<<"\nTen: "; o<<A.ten; cout<<"\nLuong: "; o<<A.luong; return o; }
friend istream &operator>>(istream &i, NHANVIEN &A) { cout<<"Nhap Ma: "; i>>A.ma; fflush(stdin); cout<<"\nNhap Ten: "; i>>A.ten; fflush(stdin); cout<<"\nNhap Luong: "; i>>A.luong; return i; }
void operator=(NHANVIEN A) { strcpy(ma, A.ma); strcpy(ten, A.ten); luong = A.luong; }
}; Và kết quả là: - Code:
-
Nhap Ma: 1
Nhap Ten: Le
Nhap Luong: 15000000
Ma: 1 Ten: Le Luong: 15000000
Nhan Vien B:
Ma: 1 Ten: Le Luong: 15000000 Cuối cùng là toán tử: == - Code:
-
class NHANVIEN { //Properties private: char ma[15]; char ten[30]; unsigned long luong;
public: //Constructor Mac Dinh NHANVIEN() { strcpy(ma, ""); strcpy(ten, ""); luong = 0; }
//Khoi tao co doi so NHANVIEN(char _ma[15], char _ten[30], unsigned long _luong) { ThietLap(_ma, _ten, _luong); }
void ThietLap(char _ma[15], char _ten[30], unsigned long _luong) { strcpy(ma, _ma); strcpy(ten, _ten); if(_luong < 0) luong = 0; else luong = _luong; }
void Nhap() { cout<<"Nhap Ma: "; gets(ma); fflush(stdin); cout<<"\nNhap Ten: "; gets(ten); fflush(stdin); cout<<"\nNhap Luong: "; cin>>luong; }
void Xuat() { cout<<"\nMa: "; cout<<ma; cout<<"\nTen: "; cout<<ten; cout<<"\nLuong: "; cout<<luong; }
friend ostream &operator<<(ostream &o, NHANVIEN A) { cout<<"\nMa: "; o<<A.ma; cout<<"\nTen: "; o<<A.ten; cout<<"\nLuong: "; o<<A.luong; return o; }
friend istream &operator>>(istream &i, NHANVIEN &A) { cout<<"Nhap Ma: "; i>>A.ma; fflush(stdin); cout<<"\nNhap Ten: "; i>>A.ten; fflush(stdin); cout<<"\nNhap Luong: "; i>>A.luong; return i; }
void operator=(NHANVIEN A) { strcpy(ma, A.ma); strcpy(ten, A.ten); luong = A.luong; }
bool operator==(NHANVIEN A) { if(luong == A.luong) return true; return false; }
}; Test trong main nào : - Code:
-
int main() { NHANVIEN A; cin>>A; cout<<A;
NHANVIEN B; B = A; cout<<"\n\nNhan Vien B:\n"; cout<<B;
if(A == B) { cout<<"\nLuong A = Luong B"; } else { cout<<"\nLuong A != Luong B"; } _getch(); } Và kết quả sẽ là : - Code:
-
Nhap Ma: 1
Nhap Ten: Le
Nhap Luong: 12000000
Ma: 1 Ten: Le Luong: 12000000
Nhan Vien B:
Ma: 1 Ten: Le Luong: 12000000 Luong A = Luong B OK! Tạm thời là vậy thôi, nhiêu đó cũng đủ để các bạn có thể lấy trên điểm trung bình rồi. Bonus thêm đoạn code nguyên bài nè: - Code:
-
#include <iostream> #include <conio.h> #include <string.h>
using namespace std;
class NHANVIEN { //Properties private: char ma[15]; char ten[30]; unsigned long luong;
public: //Constructor Mac Dinh NHANVIEN() { strcpy(ma, ""); strcpy(ten, ""); luong = 0; }
//Khoi tao co doi so NHANVIEN(char _ma[15], char _ten[30], unsigned long _luong) { ThietLap(_ma, _ten, _luong); }
void ThietLap(char _ma[15], char _ten[30], unsigned long _luong) { strcpy(ma, _ma); strcpy(ten, _ten); if(_luong < 0) luong = 0; else luong = _luong; }
void Nhap() { cout<<"Nhap Ma: "; gets(ma); fflush(stdin); cout<<"\nNhap Ten: "; gets(ten); fflush(stdin); cout<<"\nNhap Luong: "; cin>>luong; }
void Xuat() { cout<<"\nMa: "; cout<<ma; cout<<"\nTen: "; cout<<ten; cout<<"\nLuong: "; cout<<luong; }
friend ostream &operator<<(ostream &o, NHANVIEN A) { cout<<"\nMa: "; o<<A.ma; cout<<"\nTen: "; o<<A.ten; cout<<"\nLuong: "; o<<A.luong; return o; }
friend istream &operator>>(istream &i, NHANVIEN &A) { cout<<"Nhap Ma: "; i>>A.ma; fflush(stdin); cout<<"\nNhap Ten: "; i>>A.ten; fflush(stdin); cout<<"\nNhap Luong: "; i>>A.luong; return i; }
void operator=(NHANVIEN A) { strcpy(ma, A.ma); strcpy(ten, A.ten); luong = A.luong; }
bool operator==(NHANVIEN A) { if(luong == A.luong) return true; return false; }
};
int main() { NHANVIEN A; cin>>A; cout<<A;
NHANVIEN B; B = A; cout<<"\n\nNhan Vien B:\n"; cout<<B;
if(A == B) { cout<<"\nLuong A = Luong B"; } else { cout<<"\nLuong A != Luong B"; } _getch(); }
OK! Đi ăn cơm đây, đói quá, các bạn có nhu cầu biết thêm gì thì cứ post lên ,mình sẽ cố gắng giải đáp! |
| | | lovelonelyman
Member Năng Động
Số bài viết : 134 Điểm : 180 Được cảm ơn : 9 Ngày sinh : 15/07/1990 Tham gia ngày : 30/04/2010 Tuổi : 34 Đến từ : Thai Binh
| Tiêu đề: Re: [Thi OOP] Nhiêu đây là quá đủ để đậu! 22/9/2010, 14:35 | |
| H ơi cho m hỏi sao phải có hàm thiết lập, nếu ko có thì sao,tác dụng của nó là gì, mà H ơi chỉ giúp mình cái này nữa: cái này là sao " ~nhanvien()" chẳng hạn nghĩa là gì,nó co tac dụng gì, mình cần 1 câu tra lời chi tiết và cụ thể giúp m vói nhe thanks! nhìu nhe |
| | | tkhking
Member Năng Động
Thú CƯng :
Số bài viết : 114 Điểm : 135 Được cảm ơn : 1 Ngày sinh : 18/03/1990 Tham gia ngày : 01/07/2010 Tuổi : 34 Đến từ : Óc Trâu Lấy Ra Ngề nghiệp : Student Chăm ngôn : King
| Tiêu đề: Re: [Thi OOP] Nhiêu đây là quá đủ để đậu! 22/9/2010, 17:49 | |
| - lovelonelyman đã viết:
- H ơi cho m hỏi sao phải có hàm thiết lập, nếu ko có thì sao,tác dụng của nó là gì, mà H ơi chỉ giúp mình cái này nữa:
cái này là sao " ~nhanvien()" chẳng hạn nghĩa là gì,nó co tac dụng gì, mình cần 1 câu tra lời chi tiết và cụ thể giúp m vói nhe thanks! nhìu nhe tui xin mạng phép trả lời nha hàm thiết lập là hàm mà khi mình khởi tạo 1 đối tượng mới thì nó sẽ gọi ngay đến hàm thiết lập...chỉ để khởi tạo giá trị ban đầu cho nó thôi đó mà..nếu mình không viết hàm thiết lập thì chương trình sẽ tự gọi hàm thiết lập mặt định... còn ~nhanvien() đuợ gọi là hàm detructor nó có trách nhiệm là khi kết thúc thì chương trình sẽ gọi hàm này ra để giải phóng bộ nhớ đó mà nếu mình không viết thì chương trình cũng sẽ gọi hàm thiết lập mặt định thôi... |
| | | Sakura
Thú CƯng :
Số bài viết : 1124 Điểm : 1688 Được cảm ơn : 35 Ngày sinh : 03/11/1990 Tham gia ngày : 16/03/2010 Tuổi : 34 Đến từ : Bình Dương Ngề nghiệp : IT Student
| Tiêu đề: Re: [Thi OOP] Nhiêu đây là quá đủ để đậu! 22/9/2010, 18:03 | |
| - tkhking đã viết:
- lovelonelyman đã viết:
- H ơi cho m hỏi sao phải có hàm thiết lập, nếu ko có thì sao,tác dụng của nó là gì, mà H ơi chỉ giúp mình cái này nữa:
cái này là sao " ~nhanvien()" chẳng hạn nghĩa là gì,nó co tac dụng gì, mình cần 1 câu tra lời chi tiết và cụ thể giúp m vói nhe thanks! nhìu nhe tui xin mạng phép trả lời nha hàm thiết lập là hàm mà khi mình khởi tạo 1 đối tượng mới thì nó sẽ gọi ngay đến hàm thiết lập...chỉ để khởi tạo giá trị ban đầu cho nó thôi đó mà..nếu mình không viết hàm thiết lập thì chương trình sẽ tự gọi hàm thiết lập mặt định...
còn ~nhanvien() đuợ gọi là hàm detructor nó có trách nhiệm là khi kết thúc thì chương trình sẽ gọi hàm này ra để giải phóng bộ nhớ đó mà nếu mình không viết thì chương trình cũng sẽ gọi hàm thiết lập mặt định thôi... Chương trình sẽ không gọi hàm Destructor mặc định đâu. Không giống bên Java, hay C#, tụi nó có cái chế độ thu gom rác tự động - nghĩa là mày cứ xài đi, việc dọn dẹp cứ để anh lo. C++ thì không có, vấn đề con trỏ vẫn là việc mà LTV đang phải ngán ngẫm khi đụng đến. Và nếu như ta quên không dọn dẹp (Free, Delete) thì hậu quả khó mà lường được. Do đó, trong mọi chương trình C++, nếu đã có sự xuất hiện của chú trỏ (new hay là gì đó bên C) thì phải có cụ delete, free đi theo, nếu không thì bọn rác nó cứ nằm trong đó hoài cho đến khi tắt máy. Và chú Destructor ko có nhiệm vụ tự dọn dẹp giống GC (bộ thu góm rác trong .NET) nên sẽ không được gọi 1 cách tự động, chỉ khi nào ta gọi nó thì nói mới chạy thôi. |
| | | hotboy
Thú CƯng :
Số bài viết : 705 Điểm : 1043 Được cảm ơn : 9 Ngày sinh : 21/03/1990 Tham gia ngày : 13/05/2010 Tuổi : 34 Đến từ : BDU
| Tiêu đề: Re: [Thi OOP] Nhiêu đây là quá đủ để đậu! 22/9/2010, 19:20 | |
| [code]//Khoi tao co doi so NHANVIEN(char _ma[15], char _ten[30], unsigned long _luong) { ThietLap(_ma, _ten, _luong); }
void ThietLap(char _ma[15], char _ten[30], unsigned long _luong) { strcpy(ma, _ma); strcpy(ten, _ten); if(_luong < 0) luong = 0; else luong = _luong; } [\code]
sao lại phải viết thế này
viết z thì cũng có khác gì đâu
[code]//Khoi tao co doi so NHANVIEN(char _ma[15], char _ten[30], unsigned long _luong) { strcpy(ma, _ma); strcpy(ten, _ten); if(_luong < 0) luong = 0; else luong = _luong; }[/code] |
| | | Sakura
Thú CƯng :
Số bài viết : 1124 Điểm : 1688 Được cảm ơn : 35 Ngày sinh : 03/11/1990 Tham gia ngày : 16/03/2010 Tuổi : 34 Đến từ : Bình Dương Ngề nghiệp : IT Student
| Tiêu đề: Re: [Thi OOP] Nhiêu đây là quá đủ để đậu! 22/9/2010, 21:01 | |
| - hotboy đã viết:
- [code]//Khoi tao co doi so
NHANVIEN(char _ma[15], char _ten[30], unsigned long _luong) { ThietLap(_ma, _ten, _luong); }
void ThietLap(char _ma[15], char _ten[30], unsigned long _luong) { strcpy(ma, _ma); strcpy(ten, _ten); if(_luong < 0) luong = 0; else luong = _luong; } [\code]
sao lại phải viết thế này
viết z thì cũng có khác gì đâu
[code]//Khoi tao co doi so NHANVIEN(char _ma[15], char _ten[30], unsigned long _luong) { strcpy(ma, _ma); strcpy(ten, _ten); if(_luong < 0) luong = 0; else luong = _luong; }[/code] OK! Không khác, tuỳ phong cách của mỗi người thôi, tui làm vậy là để chia nhỏ ra thành các phần khác nhau thôi, hàm ThietLap có thể dùng riêng hoặc dùng trong Constructor cũng đc! (Biện hộ tí thui. Hehe!)! |
| | | kimgayme
Số bài viết : 5 Điểm : 7 Được cảm ơn : 0 Ngày sinh : 25/08/1990 Tham gia ngày : 08/05/2010 Tuổi : 34 Đến từ : gl
| Tiêu đề: Re: [Thi OOP] Nhiêu đây là quá đủ để đậu! 23/9/2010, 12:01 | |
| Nghe nói cái này đề mở mà ta! |
| | | Sakura
Thú CƯng :
Số bài viết : 1124 Điểm : 1688 Được cảm ơn : 35 Ngày sinh : 03/11/1990 Tham gia ngày : 16/03/2010 Tuổi : 34 Đến từ : Bình Dương Ngề nghiệp : IT Student
| Tiêu đề: Re: [Thi OOP] Nhiêu đây là quá đủ để đậu! 23/9/2010, 12:03 | |
| - kimgayme đã viết:
- Nghe nói cái này đề mở mà ta!
Không có đề mở đâu bạn, Đề mở là số người bị rụng hơi bị nhiều đó. Cô kêu đề vô 3 câu nho nhỏ thôi, chỉ cần hiểu bài là làm được à! Chúc tất cả may mắn! |
| | | hotboy
Thú CƯng :
Số bài viết : 705 Điểm : 1043 Được cảm ơn : 9 Ngày sinh : 21/03/1990 Tham gia ngày : 13/05/2010 Tuổi : 34 Đến từ : BDU
| Tiêu đề: Re: [Thi OOP] Nhiêu đây là quá đủ để đậu! 23/9/2010, 14:33 | |
| vậy mấy bửa nay mây cán bộ khai thác thông tin của lớp có khai thác được gì từ cô chưa?như là:hình thức đề như thế nào?trọng tâm ở đâu ?chưa |
| | | control_duty
Số bài viết : 16 Điểm : 20 Được cảm ơn : 0 Ngày sinh : 10/11/1988 Tham gia ngày : 21/09/2010 Tuổi : 36 Đến từ : hat
| Tiêu đề: Re: [Thi OOP] Nhiêu đây là quá đủ để đậu! 23/9/2010, 18:24 | |
| làm sao biết chắc nhiêu đó là đủ đậu ! cái này chỉ là 1 bài NHANVIEN thôi mà! nếu chỉ đọc 1 bài này mà có thể làm ra những bài khác thì mình nghĩ họ không cần bài trên cũng có thể đủ đậu! còn những người muốn đậu thì đọc cái này cho dù có thuộc lòng thì cũng chả thể làm những bài khác, cho dù có là tương tự!! |
| | | Sakura
Thú CƯng :
Số bài viết : 1124 Điểm : 1688 Được cảm ơn : 35 Ngày sinh : 03/11/1990 Tham gia ngày : 16/03/2010 Tuổi : 34 Đến từ : Bình Dương Ngề nghiệp : IT Student
| Tiêu đề: Re: [Thi OOP] Nhiêu đây là quá đủ để đậu! 24/9/2010, 08:36 | |
| - control_duty đã viết:
- làm sao biết chắc nhiêu đó là đủ đậu !
cái này chỉ là 1 bài NHANVIEN thôi mà! nếu chỉ đọc 1 bài này mà có thể làm ra những bài khác thì mình nghĩ họ không cần bài trên cũng có thể đủ đậu! còn những người muốn đậu thì đọc cái này cho dù có thuộc lòng thì cũng chả thể làm những bài khác, cho dù có là tương tự!! Mình đâu có kêu các bạn "ôm tủ". Mà thông qua bài này, mình có thể giải thích cho các bạn những thứ căn bản nhất về OOP, từ các khái niệm đến các thao tác cơ bản nhất! Nếu các bạn hiểu bài này (hiểu chứ ko phải học thuộc, và phải làm được), thì mọi chuyện như thế là ko phải đủ đậu à? Siêng thì làm thêm vài bài như PHANSO, ARRAY, DATETIME... mà mình đã post lên trước đó. Không đậu nữa chắc hết cách! Hic!!!!!!!!!!! |
| | | Sponsored content
| Tiêu đề: Re: [Thi OOP] Nhiêu đây là quá đủ để đậu! | |
| |
| | | | [Thi OOP] Nhiêu đây là quá đủ để đậu! | |
|
Trang 1 trong tổng số 1 trang | |
Similar topics | |
|
| Permissions in this forum: | Bạn không có quyền trả lời bài viết
| |
| |
| Latest topics | » Renew forum by Mr.Cuong 4/4/2015, 08:10
» Diễn đàn bỏ lâu vậy mà vẫn không die! by theanhkkt 1/4/2015, 08:03
» Phân biệt giải thuật tìm kiếm sâu và sâu dần... by mailoc 20/12/2014, 15:12
» Toàn bộ giáo trình bên mạng của Nhất Nghệ đây (Link mediafire) Hot down nhanh kẻo die by mrchikoy 11/6/2013, 10:34
» [Thông báo] Còn ai nhớ page này by jetvhs 10/6/2013, 13:45
» PHI HÀNH ĐOÀN MỚI LÊN ISS by Sakura 10/6/2013, 00:41
» LAPTOP ASUS TAICHI VỚI MÀN HÌNH FULL HD KÉP by Mr.Cuong 25/5/2013, 12:04
» Video tự học C# từ A->Z by Sakura 7/5/2013, 16:11
» Cơ Bản Ép Kiểu Trong Java by Sakura 7/5/2013, 16:09
» THÔNG BÁO VỀ VIỆC DỰ KIẾN KIỂM TRA NĂNG LỰC NGOẠI NGỮ - TIN HỌC THÁNG 07/2012 by Sakura 7/5/2013, 16:09
» Mấy anh chị cho em xin cái đồ án mẫu !! by huutuan_se7en 4/1/2013, 22:37
» Làm thế nào để tạo ra 1 form đăng nhập bằng C Sharp by Sakura 14/9/2012, 18:09
» Tổ chức đi du lịch Vũng Tàu 2 ngày 1 đêm by o0ovioletstaro0o 15/8/2012, 20:51
» Những hình ảnh báo cáo tốt nghiệp khóa 2008 -2012 by hotboy 10/8/2012, 13:35
» Banner xấu quá! @@ by con_ca_nho90 25/7/2012, 19:43
» mấy anh chị cho em khóa 12 hỏi cái này by con_ca_nho90 25/7/2012, 19:40
» Hướng dẫn - Làm website bằng Google Site; Đăng ký và sử dụng Google Apps by Già Làng 18/6/2012, 14:20
» Tài liệu ôn thi QTDA CNTT by Sakura 15/6/2012, 15:38
» học phí, lệ phí thi lại học lại năm học 2012 - 2013 update :P by o0ovioletstaro0o 4/6/2012, 14:36
» [11TH02][QTDACNTT] - Tài liệu full by Sakura 15/5/2012, 08:13
|
|