![Phân tích tư tưởng của nhân dân qua đoạn thơ: Những người vợ nhớ chồng… Những cuộc đời đã hóa sông núi ta trong Đất nước của Nguyễn Khoa Điềm](https://timtailieu.net/upload/document/136415/phan-tich-tu-tuong-cua-nhan-dan-qua-doan-tho-039-039-nhung-nguoi-vo-nho-chong-nhung-cuoc-doi-da-hoa-song-nui-ta-039-039-trong-dat-nuoc-cua-nguyen-khoa-136415.jpg)
LẬP TRÌNH C nâng cao - bài 3 - nhắc lại về lớp part 2
Số trang: 6
Loại file: pdf
Dung lượng: 129.05 KB
Lượt xem: 14
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
BÀI 3: NHẮC LẠI VỀ LỚP Cơ bản về lớpChúng ta sẽ được nhắc lại cách viết các hàm cơ bản để khởi tạo lớp và các hàm cơ bản liên quan.
Nội dung trích xuất từ tài liệu:
LẬP TRÌNH C nâng cao - bài 3 - nhắc lại về lớp part 2 LẬP TRÌNH C/C++ NÂNG CAOYêu cầu trước khi đọc: học xong Lập trình C/C++ căn bản BÀI 3: NHẮC LẠI VỀ LỚPCơ bản về lớpCODEclass Date{int day;public:Date(int,int a=1);int month;void setDay(int);void output();};int main(){Date d(6);d.month=3;d.setDate(25);d.output();return 0;}Date::Date(int day,int month){this->day=day;this->month=month;}void Date::setDay(int day){this->day=day;}void Date::output(){cout}Hàm khởi tạoChúng ta có thể viết một hàm khởi tạo như thế nàyCODEclass Student{string name;int age;public:Student(string name,int n):name(name),age(n){}};Nó tương đương vớiCODEclass Student{string name;int age;public:Student(string name,int n){(*this).name = name;this->age = n;}};Hàm bạn (friend function)CODEclass Student{public:int id;friend bool equal(const Student&,const Student&);};int main(){Student s1;s1.id=2;Student s2;s2.id=3;cout(a) hoặcoperator>>(cin,a) Overload 2 toán tử nhập và xuất này hếtsức quan trọng về sau. Nhân tiện mỗi khi cấp phát bộ nhớ, dùng xong phảiluôn hủy đi để thu hồi lại bộ nhớ đã cấp phát. Vì về saugame cái ưu tiên hàng đầu là bộ nhớ, đừng để lại rác.CODEclass Date{public:int day;int month;friend istream& operator>>(istream&,Date&);friend ostream& operator(istream& ins,Date& d){ins>>d.day;ins>>d.month;ins.get(); //phải xóa bộ đệmreturn ins;}ostream& operatorint main(){myclass m;return 0;}myclass::myclass(){p=new int; //phải cấp phát bộ nhớ để tránh segmentation fault}myclass::~myclass(){delete p;}Hàm khởi tạo sao chép (copy constructorCODEclass Date{public:int day;int month;char *special;Date(int,int,char*);Date(const Date&);~Date(){delete [] special; //bởi vì chúng ta cấp phát bộ nhớ cho nó}};Date::Date(int day,int month,char *special){this->day=day;this->month=month;this->special=special;}Date::Date(const Date& d){this->day=d.day;this->month=d.month;this->special=new char[strlen(d.special)+1]; //cấp phát bộ nhớ cho nóstrcpy(this->special,d.special); //phải dùng strcpy với char array}int main(){Date d1(29,8,birthday);Date d2(d1);cout
Nội dung trích xuất từ tài liệu:
LẬP TRÌNH C nâng cao - bài 3 - nhắc lại về lớp part 2 LẬP TRÌNH C/C++ NÂNG CAOYêu cầu trước khi đọc: học xong Lập trình C/C++ căn bản BÀI 3: NHẮC LẠI VỀ LỚPCơ bản về lớpCODEclass Date{int day;public:Date(int,int a=1);int month;void setDay(int);void output();};int main(){Date d(6);d.month=3;d.setDate(25);d.output();return 0;}Date::Date(int day,int month){this->day=day;this->month=month;}void Date::setDay(int day){this->day=day;}void Date::output(){cout}Hàm khởi tạoChúng ta có thể viết một hàm khởi tạo như thế nàyCODEclass Student{string name;int age;public:Student(string name,int n):name(name),age(n){}};Nó tương đương vớiCODEclass Student{string name;int age;public:Student(string name,int n){(*this).name = name;this->age = n;}};Hàm bạn (friend function)CODEclass Student{public:int id;friend bool equal(const Student&,const Student&);};int main(){Student s1;s1.id=2;Student s2;s2.id=3;cout(a) hoặcoperator>>(cin,a) Overload 2 toán tử nhập và xuất này hếtsức quan trọng về sau. Nhân tiện mỗi khi cấp phát bộ nhớ, dùng xong phảiluôn hủy đi để thu hồi lại bộ nhớ đã cấp phát. Vì về saugame cái ưu tiên hàng đầu là bộ nhớ, đừng để lại rác.CODEclass Date{public:int day;int month;friend istream& operator>>(istream&,Date&);friend ostream& operator(istream& ins,Date& d){ins>>d.day;ins>>d.month;ins.get(); //phải xóa bộ đệmreturn ins;}ostream& operatorint main(){myclass m;return 0;}myclass::myclass(){p=new int; //phải cấp phát bộ nhớ để tránh segmentation fault}myclass::~myclass(){delete p;}Hàm khởi tạo sao chép (copy constructorCODEclass Date{public:int day;int month;char *special;Date(int,int,char*);Date(const Date&);~Date(){delete [] special; //bởi vì chúng ta cấp phát bộ nhớ cho nó}};Date::Date(int day,int month,char *special){this->day=day;this->month=month;this->special=special;}Date::Date(const Date& d){this->day=d.day;this->month=d.month;this->special=new char[strlen(d.special)+1]; //cấp phát bộ nhớ cho nóstrcpy(this->special,d.special); //phải dùng strcpy với char array}int main(){Date d1(29,8,birthday);Date d2(d1);cout
Tìm kiếm theo từ khóa liên quan:
kỹ thuật lập trình lập trình c/c++ nâng cao lập trình c/c++ thủ thuật lập trình c ngôn ngữ lập trình nâng caTài liệu liên quan:
-
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 290 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 228 0 0 -
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 217 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 184 0 0 -
Luận văn: Nghiên cứu kỹ thuật giấu tin trong ảnh Gif
33 trang 156 0 0 -
Báo cáo thực tập Công nghệ thông tin: Lập trình game trên Unity
27 trang 122 0 0 -
Giáo trình về phân tích thiết kế hệ thống thông tin
113 trang 116 0 0 -
LUẬN VĂN: Tìm hiểu kỹ thuật tạo bóng cứng trong đồ họa 3D
41 trang 111 0 0 -
Bài giảng Kỹ thuật lập trình - Chương 10: Tổng kết môn học (Trường Đại học Bách khoa Hà Nội)
67 trang 109 0 0 -
Giáo trình Nhập môn lập trình VB6: Phần 2
184 trang 99 0 0