C++ 47: Hàm khởi tạo - Hàm hủy

Поділитися
Вставка
  • Опубліковано 21 жов 2024

КОМЕНТАРІ • 110

  • @TriNguyen-mh6dv
    @TriNguyen-mh6dv Рік тому

    rất bổ ích , chúc buổi sáng tốt lành

  • @tinhkhacvuong3967
    @tinhkhacvuong3967 3 роки тому +1

    Cảm ơn a rất nhiều!!!Không có a chắc e lạc lối luôn!

    •  3 роки тому +1

      Ok e nhé

  • @huytranquang1047
    @huytranquang1047 4 роки тому +12

    có ai bây giờ học không

  • @duongnguyenquoc1955
    @duongnguyenquoc1955 5 років тому +2

    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

    •  5 років тому

      Có chứ e.

    • @duongnguyenquoc1955
      @duongnguyenquoc1955 5 років тому +1

      @ Hay quá anh ơi!
      e cám ơn a :))

    •  5 років тому

      @@duongnguyenquoc1955 oki e

  • @duynguyenhoang3074
    @duynguyenhoang3074 5 років тому +2

    Rất hay và bổ ích Tks ad

    •  5 років тому +1

      Oki

  • @tranhoanguc5457
    @tranhoanguc5457 3 роки тому

    em cảm ơn anh bài giảng hay quá

    •  3 роки тому

      oke. thank you

  • @blackstar4492
    @blackstar4492 3 роки тому +3

    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

  • @coderwanttobedesigner4788
    @coderwanttobedesigner4788 5 років тому +1

    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

    •  5 років тому

      Thì còn trỏ mới dùng -> nhé

  • @tronghiep3500
    @tronghiep3500 4 роки тому +1

    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 * ạ

    •  4 роки тому +1

      E cần phân biệt khai báo và cú pháp sử dụng con trỏ nhé

  • @baonguyenphuochongquang7010
    @baonguyenphuochongquang7010 4 роки тому

    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

  • @hmnthy
    @hmnthy 4 роки тому +1

    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!

    •  4 роки тому

      bỏ _s đi e

    • @ducdv286
      @ducdv286 4 роки тому

      Tải visual studio code đi bạn, nhẹ lắm.

  • @anhnguyen-un3th
    @anhnguyen-un3th 3 роки тому

    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 ạ.

  • @sonnguyenuc200
    @sonnguyenuc200 4 роки тому +1

    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 ạ?

    •  4 роки тому

      Đc nhé

  • @volinh6386
    @volinh6386 2 роки тому

    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ố

  • @ChinhLe-us7fo
    @ChinhLe-us7fo 3 роки тому

    xin cảm ơn

    •  3 роки тому

      okok

  • @MinhHoang-uj4uh
    @MinhHoang-uj4uh 2 роки тому

    Không dùng hàm copy thì có được không ạ? Em hơi lấn cấn tẹo ạ

    •  2 роки тому

      Đc e

  • @nguyenbui1862
    @nguyenbui1862 4 роки тому

    học đến đây mới hiểu tại sao gọi là lập trình hướng đối tượng

    •  4 роки тому

      Cứ từ từ khoai mới dừ

    • @nguyenbui1862
      @nguyenbui1862 4 роки тому

      @ 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 ạ

    •  4 роки тому

      E có thể học cuốn họ to c programing

    • @nguyenbui1862
      @nguyenbui1862 4 роки тому

      @ em chưa hiểu lắm . Anh cho em link sách được không ạ @.@

    •  4 роки тому

      @@nguyenbui1862 drive.google.com/file/d/0BxH-_m5tJz48RU94OXQtZTBXdGc/view?usp=sharing

  • @thehiennguyen2380
    @thehiennguyen2380 3 роки тому

    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

    •  3 роки тому

      mảng char không gán đc mà phải sao chép nhé

  • @nguyenvanduong4458
    @nguyenvanduong4458 4 роки тому

    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

    • @nguyenvanduong4458
      @nguyenvanduong4458 4 роки тому

      @ 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

    • @nguyenvanduong4458
      @nguyenvanduong4458 4 роки тому

      @ à 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

  • @TIN1706
    @TIN1706 3 роки тому

    strcpy_s là gì vậy a, e không hiểu lắm

  • @trihuynh0412
    @trihuynh0412 4 роки тому

    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ờ

    • @trihuynh0412
      @trihuynh0412 4 роки тому +1

      @ vâng em cảm ơn anh!

    •  4 роки тому

      @@trihuynh0412 oke nhé

  • @tamao1473
    @tamao1473 3 роки тому

    Anh cho e hỏi e tạo 1 hàm 5 tham số ngay lúc đầu có đc ko ạ?

    •  3 роки тому

      Ok nhé

  • @kaizen8196
    @kaizen8196 3 роки тому

    a ơi e dùng cái strcpy_s mà báo lỗi c6386 overflow là sao ạ

  • @balong1773
    @balong1773 4 роки тому

    a làm giảng viên đc đấy

    •  4 роки тому

      A là dev thôi e😂

  • @truongthinhho3126
    @truongthinhho3126 2 роки тому

    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

    •  2 роки тому

      có thể nó khác thư viện. hơn nữa không có thư viện nào là sctring cả

    • @truongthinhho3126
      @truongthinhho3126 2 роки тому

      @ à em cảm ơn a :))

  • @hunternghiep4003
    @hunternghiep4003 4 роки тому

    a liệt kê hộ em sự khác nhau giữa struct và class được không ,em cảm ơn ạ

    • @ducdv286
      @ducdv286 4 роки тому +3

      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.

  • @nguyentrong2415
    @nguyentrong2415 4 роки тому

    anh oi ID TEN và ADDRESS mình ko dùng char mà dùng string cho dễ khai báo dc ko ạ

    •  4 роки тому

      đc

  • @tuantrung2802
    @tuantrung2802 4 роки тому +1

    Anh ơi có phải ko dùng strcpy() mà dùng strcpy_s() ạ

    •  4 роки тому +1

      trong visual studio là vậy

    • @huydang4251
      @huydang4251 4 роки тому +1

      @ 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

    • @huydang4251
      @huydang4251 4 роки тому +3

      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

    •  4 роки тому

      Huy FR có hỗ trợ mà e

    • @huydang4251
      @huydang4251 4 роки тому

      @ nhưng chắc không có ở dev c++ em dùng nó báo strcpy_s was not declare in this scope

  • @hoangminhtuan4355
    @hoangminhtuan4355 4 роки тому

    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 ạ?

    •  4 роки тому

      Biết là nó rồi còn gì e

    • @hoangminhtuan4355
      @hoangminhtuan4355 4 роки тому

      @ 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 ạ?

    •  4 роки тому

      @@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

    • @hoangminhtuan4355
      @hoangminhtuan4355 4 роки тому

      @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 ạ

    •  4 роки тому +1

      Khác nhau về thời điểm cấp phát thôi

  • @QuanNguyen-ph4pw
    @QuanNguyen-ph4pw 4 роки тому

    anh ơi, khi nào thì sử dụng hàm tạo và hàm hủy ạ

    •  4 роки тому

      Khi muốn tạo/hủy bỏ đối tượng

    • @QuanNguyen-ph4pw
      @QuanNguyen-ph4pw 4 роки тому

      @ 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 ạ.

    •  4 роки тому

      @@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

  • @phelainy
    @phelainy 4 роки тому

    Ví dụ mình ghi là _age=age có được k ạ có khác this k a

    •  4 роки тому

      E xem phần con trỏ this để rõ hơn nha

  • @snowflower6422
    @snowflower6422 5 років тому +1

    chào anh, anh có file bài giảng không ạ ??

    •  5 років тому

      A không giảng nhé. Đây là a hướng dẫn thôi, không phải dạy

  • @LuLu-cg4yj
    @LuLu-cg4yj 5 років тому +1

    a ơi e dùng dev_c xong máy báo strcpy_s ko đc khai báo là sao a ơi

    •  5 років тому

      tại vì mỗi công cụ dùng một phiên bản ngôn ngữ khác nhau nhé

    • @LuLu-cg4yj
      @LuLu-cg4yj 5 років тому

      @ a ơi vậy phải thay tn đây ạ :((

  • @MrJ2k1
    @MrJ2k1 4 роки тому

    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 * ạ?

    •  4 роки тому

      E chưa học phần mảng kí tự đúng k

    • @MrJ2k1
      @MrJ2k1 4 роки тому

      @ hic :( lau roi chac e quen mat tieu

    •  4 роки тому

      @@MrJ2k1 nó là con trỏ/mảng một chiều

  • @haitovan763
    @haitovan763 5 років тому +1

    a học ở PTIT ạ

    •  5 років тому +1

      a từng học PTIT nhé

  • @duytt9999
    @duytt9999 3 роки тому

    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 )

    •  3 роки тому

      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

    • @duytt9999
      @duytt9999 3 роки тому

      @ e thay thành strcpy vẫn k đc a ạ :V vẫn lỗi ...

  • @KhoaNguyen-uy9zl
    @KhoaNguyen-uy9zl 5 років тому

    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

    • @KhoaNguyen-uy9zl
      @KhoaNguyen-uy9zl 5 років тому

      @ 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ó

    • @KhoaNguyen-uy9zl
      @KhoaNguyen-uy9zl 5 років тому

      @ ok ạ

  • @ekhong8444
    @ekhong8444 5 років тому

    Giống constructor trong Java ạ

    •  5 років тому +1

      giống nhưng cách thể hiện khác nhé

  • @huuduy666
    @huuduy666 3 роки тому

    anh học PTIT ạ

  • @lethanhat7327
    @lethanhat7327 5 років тому

    em dùng dev em tải code của anh về mà k chạy được ý

    •  5 років тому

      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

    • @lethanhat7327
      @lethanhat7327 5 років тому

      @ vâng. Anh ơi bản c++ này sắp xong chưa anh

    •  5 років тому

      @@lethanhat7327 còn khoảng 20 bài nữa nhé

  • @tinhtaotau763
    @tinhtaotau763 3 роки тому +1

    khó hiểu quá