Hướng dẫn hàm init trong c++

  • Hướng dẫn hàm init trong c++
  • Diễn đàn
  • LẬP TRÌNH C++ | LẬP TRÌNH C | LẬP TRÌNH C++0X
  • Thắc mắc lập trình C/C++/C++0x
  • Tại sao cần hàm khởi tạo trong lập trình hướng đối tượng trên C++?

  1. Hướng dẫn hàm init trong c++
    Tại sao cần hàm khởi tạo trong lập trình hướng đối tượng trên C++?

    //em có đoạn code sau ,nhập 2 điểm trong tọa độ oxy

    1. #include

    2. #include

    3. class point

    4. {

    5. private:

    6. int x;

    7. int y;

    8. public:

    9. void init(int ox,int oy) //hàm khởi tạo {

    10. cout <<"ham thanh phan init";

    11. x=ox;y=oy}

    12. .....

    13. void main(void){

    14. point p;

    15. p.init(2,3);

    cho em hỏi sao lại cần hàm khởi tạo làm gì ,sao ko dùng luôn x,y để nhập tọa độ ?thanks all

    Đã được chỉnh sửa lần cuối bởi rox_rook : 03-06-2009 lúc 02:57 PM.


  2. @tranmanh: Đưa code vào tag
    Cái hàm init của bạn không phải hàm tạo đâu.
    Hàm tạo(constructor) là 1 phương thức có tên trùng với tên của lớp.Nếu không khai báo hàm tạo thì trình biên dịch sẽ tự tạo ra các hàm này.


  3. Lập trình OOP: yêu cầu đọc tính chất 1: tính đóng gói (encapsulation)

    Ước mơ vươn tới Linux Developer.
    Đang trong quá trình tập luyện:
    1. C system programming
    2. GNU distribution
    3. Gtk+/Gnome Application Programming.

    Bác nào giỏi lĩnh vực này giúp Kim với nha. Kim cám ơn nhiều !!!


  4. Hướng dẫn hàm init trong c++
    Nguyên bản được gửi bởi tranmanh
    Hướng dẫn hàm init trong c++

    //em có đoạn code sau ,nhập 2 điểm trong tọa độ oxy

    #include
    #include
    class point
    {
    private:
    int x;
    int y;
    public:
    void init(int ox,int oy) //hàm khởi tạo {
    cout <<"ham thanh phan init";
    x=ox;y=oy}
    .....
    void main(void){
    point p;
    p.init(2,3);

    cho em hỏi sao lại cần hàm khởi tạo làm gì ,sao ko dùng luôn x,y để nhập tọa độ ?thanks all

    không dùng x, y được vì 2 thuộc tính x, y đã được thiết lập private rồi, chỉ dùng được trong phạm vi class Point thôi

    trong hàm main (tức là ngoài class Point) muốn nhập tọa độ phải qua hàm init


  5. cho mình hỏi ngu một chút:
    Nếu chương trình biên dịch đã tự động xây dựng hàm khởi tạo rồi thì mình cần gì phải xây dựng nhỉ?
    Một số chương trình mình vẫn thấy có hàm tạo mà


  6. Hướng dẫn hàm init trong c++
    Tại sao cần hàm khởi tạo trong lập trình hướng đối tượng trên C++?

    Hướng dẫn hàm init trong c++
    Nguyên bản được gửi bởi ngoctrung903
    Hướng dẫn hàm init trong c++

    cho mình hỏi ngu một chút:
    Nếu chương trình biên dịch đã tự động xây dựng hàm khởi tạo rồi thì mình cần gì phải xây dựng nhỉ?
    Một số chương trình mình vẫn thấy có hàm tạo mà

    Hỏi [ngu] thật.
    Có thể bạn đi ăn phở chỉ gọi một tiếng "phở". Nhưng hầu hết mọi người đều kèm theo yêu cầu đặc thù của mình, vd phở tái nạm tô lớn nhiều nước béo, ...
    Hàng tự động chỉ áp dụng cho yêu cầu tổng quát.
    Có những lúc hàng tổng quát không hợp thì phải dùng hàm khởi tạo để đạt các tính chất đặc thù.


  7. Hướng dẫn hàm init trong c++
    Nguyên bản được gửi bởi VoTichSu
    Hướng dẫn hàm init trong c++

    Hỏi [ngu] thật.
    Có thể bạn đi ăn phở chỉ gọi một tiếng "phở". Nhưng hầu hết mọi người đều kèm theo yêu cầu đặc thù của mình, vd phở tái nạm tô lớn nhiều nước béo, ...
    Hàng tự động chỉ áp dụng cho yêu cầu tổng quát.
    Có những lúc hàng tổng quát không hợp thì phải dùng hàm khởi tạo để đạt các tính chất đặc thù.

    Thực ra bạn không nên nặng lời vậy, người mới người ta chưa hiểu thì đôi khi hỏi một số câu hỏi hơi ngốc thôi, hồi xưa khi mới học mình cũng có những câu hỏi kiểu vậy.

    Bạn à, khi ta không tạo hàm tạo thì máy sẽ tạo ra hàm tạo mặc định có chức năng là KHÔNG LÀM GÌ CẢ.
    Còn hàm tạo của chúng ta thì để phục vụ cho mục đích của chúng ta, nó sẽ được gọi tự động khi bạn tạo ra một đối tượng mới.
    Ta nên sự tạo hàm tạo vào hàm hủy để kếm soát vùng nhớ. Trong hàm tạo nên set lại giá trị mặc định cho các biến của lớp, set null cho các con trỏ, nhờ vậy các biến không bị giá trị random khi mình thực thi chương trình. Việc các biến có giá trị ngẩu nhiên dễ gây ra lỗi và khó debug.
    Còn hàm hủy để hủy các đối tượng, giải phóng vùng nhớ đã cấp phát tránh lãng phí vùng nhớ.


    Tin học là gì.
    Là lỡ tin mới học đó
    Hướng dẫn hàm init trong c++



  8. Hướng dẫn hàm init trong c++
    Nguyên bản được gửi bởi daotien0887
    Hướng dẫn hàm init trong c++

    Thực ra bạn không nên nặng lời vậy, người mới người ta chưa hiểu thì đôi khi hỏi một số câu hỏi hơi ngốc thôi, hồi xưa khi mới học mình cũng có những câu hỏi kiểu vậy.
    ...

    Từ ấy tôi đã gói trong ngoặc vuông, ngụ ý là gì thì bạn phải tìm hiểu về cách viết từ trong ngoặc vuông. Bạn dùng nguyên tắc gì để kết luận nó là nặng?

    Đã được chỉnh sửa lần cuối bởi VoTichSu : 11-09-2012 lúc 08:09 AM.


  9. bạn nên tự viết hàm tạo cho lớp để khi khai báo 1 đối tượng của lớp đó, bạn kiểm soát được giá trị khởi tạo của nó
    nếu bạn để trình biên dịch tự làm thì bạn không biết giá trị của nó là gì -> có thể phát sinh lỗi

    cũng như khi khai báo 1 biến ta nên gán luôn 1 giá trị cho nó vậy
    mình cũng đang học, có j sai sót mong mọi người góp ý!


Các đề tài tương tự

  1. Trả lời: 7

    Bài viết cuối: 12-10-2013, 01:00 PM

  2. Trả lời: 4

    Bài viết cuối: 19-08-2012, 08:54 PM

  3. Trả lời: 8

    Bài viết cuối: 18-10-2010, 07:07 PM

  4. Trả lời: 1

    Bài viết cuối: 17-05-2009, 03:30 PM

  5. Trả lời: 1

    Bài viết cuối: 20-07-2008, 07:48 AM

Hướng dẫn hàm init trong c++
Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn
  • Tìm hiểu luật lệ tham gia diễn đàn

  • BB code: On
  • Mặt cười: On
  • [IMG] code: On
  • [VIDEO] code is On
  • HTML code: Off