cám ơn anh nhiều e đang định đi đăng kí khóa học mấy củ mà chưa đâu vào đâu may mà có bạn giới thiệu cho kênh của anh :)) khóa học này vẫn ra video tiếp chứ anh
anh ơi cho em hỏi là anh ghi this->age = age là do tên tham số trùng với thuộc tính hả a, hay bắt buộc phải ghi vậy ạ? và nếu tên khác thì có cần vậy không ạ? hi vọng anh rep cmt của e. thanks video của a
strcpy_s có thể thay thế bằng câu lệnh gì trên Dev không anh ? Máy em cùi và cũng không còn nhiều dung lượng nên ko dùng Visual Studio được. Em cảm ơn anh nhiều nha!
Tại sao vừa dùng dùng khởi tạo không tham số vừa dùng khởi tạo có tham số vậy anh, em không hiểu làm vậy để làm gì , ai giải thích với
2 роки тому
nếu tạo đối tượng mà không muốn cung cấp thêm thông tin gì thì sử dụng hàm tạo không tham số. tương tự, muốn tạo đối tượng với k tham số cho trước thì gọi hàm tạo k tham số
@ gải sử khi em học xong cơ bản mà muốn nâng cao lên thì nên tham khảo tài kiệu gì anh nhỉ. Em học xong cơ bản của C rồi nhưng tìm tài liệu nâng cao thì toàn mấy cái anh dạy cùng lắm thêm được 1 tí. Chủ yếu toàn sách cho người tập làm newbie còn sách cho newbie học xong cơ bản mà muốn học thêm thì tìm cứ khó khó kiểu gì ấy. Anh có quyển nào hay hay chỉ em với (E-book thì tốt ) .Em cảm ơn anh ạ
Anh cho em hỏi. cũng là chương trình này trên bài giảng sau khi khai báo xong 4 constructor và cả hàm destructor. xuống main không gọi hàm mà chạy chương trình thì lại hiển thị 3 dòng "call non para constructor" và 3 dòng "call destructor" .Em thử tạo ở 1 project mới và vẫn không có gì thay đổi là sao vậy anh ?
4 роки тому
Khoá các file có chứa main không dùng tới nữa đi e
@ à em đã thấy chỗ dẫn đến vấn đề rồi anh. class{...}; sau class em có để class{...}a,b,c; Mà các định nghĩa sau class này sao lại gây ra vấn đề như vậy anh nhỉ?
4 роки тому+1
@@nguyenvanduong4458 chọn project chứa file cần chạy rồi chuột phải chọn Set as startup project
Anh ơi em có một gúc mắc tại phần "Constructor có đối số" : VD class Number{ private: int NumberA; int NumberB; public: Number(){} Number(Number number){ // errors ?? // write somthing } } Lỗi anh ơi! đối số không được là class đang tạo?? "copy constructor for class "Number" may not have a parameter of type "Number""
4 роки тому+1
e có thể google trường hợp này. a chưa chơi kiểu đó bao giờ
struct là kiểu dữ liệu người dùng tự định nghĩa, còn class giống struct nhưng có thêm method để biểu diễn hành động của đối tượng. ngoài ra class cũng có cơ chế bảo vệ dữ liệu nữa.
sao máy em ko xuất ra được chữ Call destructor trong hàm hủy nhỉ, mặc dù code giống anh nhưng khi chạy nó ko xuất ra chữ Call destructor, em dùng vs 2013
5 років тому
máy nào hay công cụ nào cũng cho cùng kết quả chứ e
@ em copy ví dụ khác ở trên mạng paste về thì nó cũng ko xuất ra nội dung cout trong hàm hủy, gửi code đó qua máy khác cũng chạy vs 2013 thì nó cũng ko xuất luôn
5 років тому
@@KhoaNguyen-uy9zl vậy bỏ qua hàm hủy đi. dù sao cũng chỉ cần biết là có sự tồn tại của nó
rất bổ ích , chúc buổi sáng tốt lành
Cảm ơn a rất nhiều!!!Không có a chắc e lạc lối luôn!
Ok e nhé
có ai bây giờ học không
cám ơn anh nhiều
e đang định đi đăng kí khóa học mấy củ mà chưa đâu vào đâu
may mà có bạn giới thiệu cho kênh của anh :))
khóa học này vẫn ra video tiếp chứ anh
Có chứ e.
@ Hay quá anh ơi!
e cám ơn a :))
@@duongnguyenquoc1955 oki e
Rất hay và bổ ích Tks ad
Oki
em cảm ơn anh bài giảng hay quá
oke. thank you
cảm ơn anh vì bài giảng
em bị lỗi identifier "strcpy_s " is undefined mà k biết vì sao trong khi anh vẫn chạy đc
em chạy trong VS code
cho e hỏi, em tưởng thuộc tính là con trỏ mới dùng -> để truy xuất chứ anh hay class nó khác hả anh
Thì còn trỏ mới dùng -> nhé
anh cho em hỏi là trong các hàm sao age và mark lại k cần dấu * , em tưởng muốn thay đổi thì phải có dấu * ạ
E cần phân biệt khai báo và cú pháp sử dụng con trỏ nhé
anh ơi cho em hỏi là anh ghi this->age = age là do tên tham số trùng với thuộc tính hả a, hay bắt buộc phải ghi vậy ạ? và nếu tên khác thì có cần vậy không ạ? hi vọng anh rep cmt của e. thanks video của a
Do tên tham số trùng thuộc tính nhé e
Dạ thanks a
strcpy_s có thể thay thế bằng câu lệnh gì trên Dev không anh ? Máy em cùi và cũng không còn nhiều dung lượng nên ko dùng Visual Studio được. Em cảm ơn anh nhiều nha!
bỏ _s đi e
Tải visual studio code đi bạn, nhẹ lắm.
anh ơi trong c có hàm hủy ko ạ. ví dụ như hiểu một cái gì đó đang chạy trên màn hình ạ.
Anh ơi không khởi tạo hàm mặc định rồi khởi tạo luôn hàm có tất cả các thuộc tính được không ạ?
Đc nhé
Tại sao vừa dùng dùng khởi tạo không tham số vừa dùng khởi tạo có tham số vậy anh, em không hiểu làm vậy để làm gì , ai giải thích với
nếu tạo đối tượng mà không muốn cung cấp thêm thông tin gì thì sử dụng hàm tạo không tham số. tương tự, muốn tạo đối tượng với k tham số cho trước thì gọi hàm tạo k tham số
xin cảm ơn
okok
Không dùng hàm copy thì có được không ạ? Em hơi lấn cấn tẹo ạ
Đc e
học đến đây mới hiểu tại sao gọi là lập trình hướng đối tượng
Cứ từ từ khoai mới dừ
@ gải sử khi em học xong cơ bản mà muốn nâng cao lên thì nên tham khảo tài kiệu gì anh nhỉ. Em học xong cơ bản của C rồi nhưng tìm tài liệu nâng cao thì toàn mấy cái anh dạy cùng lắm thêm được 1 tí. Chủ yếu toàn sách cho người tập làm newbie còn sách cho newbie học xong cơ bản mà muốn học thêm thì tìm cứ khó khó kiểu gì ấy. Anh có quyển nào hay hay chỉ em với (E-book thì tốt ) .Em cảm ơn anh ạ
E có thể học cuốn họ to c programing
@ em chưa hiểu lắm . Anh cho em link sách được không ạ @.@
@@nguyenbui1862 drive.google.com/file/d/0BxH-_m5tJz48RU94OXQtZTBXdGc/view?usp=sharing
anh ơi tại sao phải dùng strcpy ạ sao mình không gắn tên trực tiếp vào luôn
mảng char không gán đc mà phải sao chép nhé
Anh cho em hỏi. cũng là chương trình này trên bài giảng sau khi khai báo xong 4 constructor và cả hàm destructor. xuống main không gọi hàm mà chạy chương trình thì lại hiển thị 3 dòng "call non para constructor" và 3 dòng "call destructor" .Em thử tạo ở 1 project mới và vẫn không có gì thay đổi là sao vậy anh ?
Khoá các file có chứa main không dùng tới nữa đi e
@ em đã excluded các file khác cũng như tạo 1 project có 1 file chứa main nhưng kết quả vẫn vậy đấy anh? không biết còn cách nào khác không anh ha
@ à em đã thấy chỗ dẫn đến vấn đề rồi anh. class{...}; sau class em có để class{...}a,b,c;
Mà các định nghĩa sau class này sao lại gây ra vấn đề như vậy anh nhỉ?
@@nguyenvanduong4458 chọn project chứa file cần chạy rồi chuột phải chọn Set as startup project
strcpy_s là gì vậy a, e không hiểu lắm
Anh ơi em có một gúc mắc tại phần "Constructor có đối số" : VD
class Number{
private:
int NumberA;
int NumberB;
public:
Number(){}
Number(Number number){ // errors ??
// write somthing
}
}
Lỗi anh ơi! đối số không được là class đang tạo??
"copy constructor for class "Number" may not have a parameter of type "Number""
e có thể google trường hợp này. a chưa chơi kiểu đó bao giờ
@ vâng em cảm ơn anh!
@@trihuynh0412 oke nhé
Anh cho e hỏi e tạo 1 hàm 5 tham số ngay lúc đầu có đc ko ạ?
Ok nhé
a ơi e dùng cái strcpy_s mà báo lỗi c6386 overflow là sao ạ
a làm giảng viên đc đấy
A là dev thôi e😂
sao em viết code như anh vậy trên vscode mà nó để sctring ko có trong tệp hoặc thư viện vậy a
có thể nó khác thư viện. hơn nữa không có thư viện nào là sctring cả
@ à em cảm ơn a :))
a liệt kê hộ em sự khác nhau giữa struct và class được không ,em cảm ơn ạ
struct là kiểu dữ liệu người dùng tự định nghĩa, còn class giống struct nhưng có thêm method để biểu diễn hành động của đối tượng. ngoài ra class cũng có cơ chế bảo vệ dữ liệu nữa.
anh oi ID TEN và ADDRESS mình ko dùng char mà dùng string cho dễ khai báo dc ko ạ
đc
Anh ơi có phải ko dùng strcpy() mà dùng strcpy_s() ạ
trong visual studio là vậy
@ có vẻ cái strcpy_s() nó không hỗ trợ c++ ấy anh, hôm qua em mới tìm trên programiz có hàm strncpy() cũng tương tự như như hàm trên
code này chạy được như của anh luôn
class animals{
public:
char name[20];
int age;
float weight;
char colors[20];
animals()
{
coutweight= 0;
this->age = 0;
}
animals(char*name)
{
coutweight= 0;
this->age = 0;
}
void show()
{
cout
Huy FR có hỗ trợ mà e
@ nhưng chắc không có ở dev c++ em dùng nó báo strcpy_s was not declare in this scope
bài này anh cấp phát động nhưng chưa biết số phần tử của mảng sao anh không cấp phát như bình thường vậy ạ?
Biết là nó rồi còn gì e
@ char* name = new char[100];
e tưởng 100 này là số phần tử của mảng cấp phát động ạ?
@@hoangminhtuan4355 đúng r. nhưng đó là ví dụ để thấy sự khác nhau giữa mảng tĩnh và mảng động. còn chức năng như nhau
@bài này cho thấy sự khác nhau giữa mảng tĩnh và mảng động là gì vậy ạ
Khác nhau về thời điểm cấp phát thôi
anh ơi, khi nào thì sử dụng hàm tạo và hàm hủy ạ
Khi muốn tạo/hủy bỏ đối tượng
@ truờng hợp bắt buộc phải dùng ạ ? vd như đt có sử dụng biến hay gì gì... Tại e quên mất nên muốn hỏi để tránh sai xót ạ mà không bk sai ở đâu ạ.
@@QuanNguyen-ph4pw bắt buộc phải dùng hàm tạo khi e muốn tạo đối tượng còn hàm hủy thì khi kết thúc chức năng hiện thời
Ví dụ mình ghi là _age=age có được k ạ có khác this k a
E xem phần con trỏ this để rõ hơn nha
chào anh, anh có file bài giảng không ạ ??
A không giảng nhé. Đây là a hướng dẫn thôi, không phải dạy
a ơi e dùng dev_c xong máy báo strcpy_s ko đc khai báo là sao a ơi
tại vì mỗi công cụ dùng một phiên bản ngôn ngữ khác nhau nhé
@ a ơi vậy phải thay tn đây ạ :((
hmm sao khi tạo các hàm student nhiều tham số với tham số kiểu char phải có dấu * ạ?
E chưa học phần mảng kí tự đúng k
@ hic :( lau roi chac e quen mat tieu
@@MrJ2k1 nó là con trỏ/mảng một chiều
a học ở PTIT ạ
a từng học PTIT nhé
a ơi e copy code của anh r chạy ở devC thì nó báo lỗi ở các dòng có strcpy_s anh ạ . mà sao a chạy lại đc ( em đặt tên file đuôi. cpp rồi )
devc++ không hỗ trợ c11 nên nó k chạy đc hàm strcpy_s. e thay bằng hàm strcpy là ok
@ e thay thành strcpy vẫn k đc a ạ :V vẫn lỗi ...
sao máy em ko xuất ra được chữ Call destructor trong hàm hủy nhỉ, mặc dù code giống anh nhưng khi chạy nó ko xuất ra chữ Call destructor, em dùng vs 2013
máy nào hay công cụ nào cũng cho cùng kết quả chứ e
@ em copy ví dụ khác ở trên mạng paste về thì nó cũng ko xuất ra nội dung cout trong hàm hủy, gửi code đó qua máy khác cũng chạy vs 2013 thì nó cũng ko xuất luôn
@@KhoaNguyen-uy9zl vậy bỏ qua hàm hủy đi. dù sao cũng chỉ cần biết là có sự tồn tại của nó
@ ok ạ
Giống constructor trong Java ạ
giống nhưng cách thể hiện khác nhé
anh học PTIT ạ
em dùng dev em tải code của anh về mà k chạy được ý
A hướng dẫn trên visual studio nhé, dev cùi bắp cần sửa chút mới chạy đc
@ vâng. Anh ơi bản c++ này sắp xong chưa anh
@@lethanhat7327 còn khoảng 20 bài nữa nhé
khó hiểu quá