Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: [ Solved ]Thắc mắc về <Class> trong OOP.

  1. #1
    Ngày gia nhập
    03 2008
    Bài viết
    78

    Mặc định [ Solved ]Thắc mắc về <Class> trong OOP.

    Cho tôi hỏi làm sao trong OOP thì tạo một class, ta hay làm một hàm mang ý nghĩa là set values vậy?Nó có ý nghĩa và mục đích jì?
    Code:
    // classes example
    #include <iostream.h>
    
    class CRectangle {
        int x, y;
      public:
        void set_values (int,int);
        int area (void) {return (x*y);}
    };
    
    void CRectangle::set_values (int a, int b) {
      x = a;
      y = b;
    }
    
    int main () {
      CRectangle rect;
      rect.set_values (3,4);
      cout << "area: " << rect.area();
    }
    No way, No success..

  2. #2
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Hàm khác struct, nếu khai báo dữ liệu thì mặc định của struct là public và mặc định của class là private.
    Giả sử : cậu đang trong main, cậu khai báo 1 đối tượng :
    C++ Code:
    1. class myClass{
    2. private :
    3.    int data;
    4. ..};
    5.  
    6. myClass A;
    7. A.data = 5;//đây là điều mà C++không cho phép, vì thuộc tính của dữ liệu là private
    8. ..
    Vậy chỉ có hàm thành viên mới thay đổi được dữ liệu bên trong class, vậy thì xài hàm setvalue để vẫn dữ sự đóng gói của 1 class, vì nếu dữ liệu mà khai báo public thì rất poor design phải không nào !

  3. #3
    Ngày gia nhập
    12 2006
    Bài viết
    72

    Những ví dụ mà có hàm set_values như trên thường dùng trong các bài giảng về hàm tạo , giúp cho học viên có một cái nhìn rõ ràng về cách hoạt động và chức năng của hàm tạo có đối.

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

  1. [ Solved ]Class hàng bán
    Gửi bởi luxiphe89 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 26
    Bài viết cuối: 09-11-2008, 10:04 AM
  2. [ Solved ]Hỏi về phương thức trong lớp (class )!
    Gửi bởi camping29 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 07-10-2008, 03:31 PM
  3. [ Solved ]Hỏi về lớp bao(wrapped class) trong C++
    Gửi bởi redzeus02468 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 18
    Bài viết cuối: 20-09-2008, 08:23 PM
  4. [ Solved ]Hỏi về các thao tác khai báo trên <Class>.
    Gửi bởi hacker_mubaohiem trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 16-03-2008, 04:13 PM
  5. Function Pointer trong Class, lỗi cannot convert from 'int (__cdecl *)(int)' to 'int (__thiscall Class::*)(int)'
    Gửi bởi DKhanh trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 15-12-2007, 04:04 PM

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