Announcement

Collapse
No announcement yet.

Giúp mình giải nghĩa mấy dòng code này với!!!

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [C++] Giúp mình giải nghĩa mấy dòng code này với!!!

    Tình hình là mình đang học OOP, đang học sách thì gặp dòng code này không hiểu có ý nghĩa gì, mong anh em, bạn bè gần xa giúp đỡ....Thanks:happy:
    class A{
    private:
    int a;
    public:
    A(const int &a) : a(a) {}
    const int & value() const { return a; };
    };

  • #2
    tắt máy ra đường ăn tết đi, biết đâu có bồ :|
    Be different and always different
    http://archlinuxvn.org/
    http://theslinux.org
    http://lab.infosec.xyz

    Comment


    • #3
      google or sách khác mà đọc :happy:
      Originally posted by 14520065 View Post
      Tình hình là mình đang học OOP, đang học sách thì gặp dòng code này không hiểu có ý nghĩa gì, mong anh em, bạn bè gần xa giúp đỡ....Thanks:happy:
      class A{
      private:
      int a;
      public:
      A(const int &a) : a(a) {}
      const int & value() const { return a; };
      };
      :funny::brick::beauty::what:

      Comment


      • #4
        Originally posted by 10520237 View Post
        google or sách khác mà đọc :happy:
        Google mà có thì em không lên đây hỏi rồi, tìm không thấy anh ạ!:tire:

        Comment


        • #5
          bạn học nhanh vậy mình chưa học đến phần này, chỉ hiểu nó là một class, biến a là private, còn cái public sau đó mình ko biết, chưa đọc qua google or sách đi
          PHP Code:
          Full nameThai Viet Phong
          Facebook
          www.facebook.com/ThaiVietPhong.ITM
          Email
          thaivietphong.net@gmail.com 
          Tìm trước khi hỏi bạn sẽ giỏi hơn mỗi khi tìm

          Comment


          • #6
            Bạn tìm hiểu từ khóa const, reference, constructor, phạm vi truy cập trong class thì sẽ hiểu thôi ^^

            Comment


            • #7
              Về từ khóa const: http://diendan.congdongcviet.com/thr...-trong-cpp.cpp

              Comment


              • #8
                Originally posted by 14520065 View Post
                Tình hình là mình đang học OOP, đang học sách thì gặp dòng code này không hiểu có ý nghĩa gì, mong anh em, bạn bè gần xa giúp đỡ....Thanks:happy:
                Code:
                class A{
                private:
                	int a;
                public:
                	A(const int &a) : a(a) {}
                	const int & value() const { return a; };
                };
                Theo mình có thể giải thích như sau:
                Code:
                class A{
                private:
                	int a;
                public:
                	         A(const int &a) : a(a) {} // Constructor khởi tạo giá trị cho thuộc tính [B]private int a[/B] của lớp. 
                                                             //[B]a[/B](a) có nghĩa là gán giá trị của tham số a cho biến private int a của lớp A.
                         	const int & value() const { return a; } // Hàm get thông thường;
                };
                Còn về từ khóa const của đoạn code trên có thể giải thích như sau:
                ==> Từ khóa const khai báo trước tham số truyền vào của hàm(phương thức) tức là tham số truyền vào là một hằng số và không thể thay đổi giá trị trong thân hàm đó.
                Ví dụ:

                Code:
                int test([B]const[/B] int &a)
                {
                       a = 5; // Lỗi
                       return a;
                }
                
                int test(int &a)
                {
                       a = 5; // Đúng
                       return a;
                }
                ==> Từ khóa const ở trước hàm (phương thức) sẽ trả về một hằng tham chiếu.
                Ví dụ:
                Code:
                const int test(int a)
                {
                       return a;
                }
                
                int &c = test(5); // Không cho phép
                const int &c = test(5); // Cho phép
                ==> Từ khóa const khai báo sau hàm (phương thức) tức là hàm đó không thể thay đổi giá trị của các thành viên trong lớp đó, trừ khi thành viên trong lớp có thuộc tính là mutable

                Code:
                class A{
                private:
                	int a;
                public:
                	A(const int &a) : a(a) {}
                	const int value() [B]const[/B]{
                                  		a = 69; // Lỗi
                		return a;
                	};
                };
                Code:
                class A{
                private:
                	[B]mutable[/B] int a;
                public:
                	A(const int &a) : a(a) {}
                	const int value() [B]const[/B]{
                		                 a = 69; // Không lỗi.
                		return a;
                	};
                };
                Chúc bạn thành công !

                Comment


                • #9
                  Originally posted by 12520332 View Post
                  Theo mình có thể giải thích như sau:
                  Code:
                  class A{
                  private:
                  	int a;
                  public:
                  	         A(const int &a) : a(a) {} // Constructor khởi tạo giá trị cho thuộc tính [B]private int a[/B] của lớp. 
                                                               //[B]a[/B](a) có nghĩa là gán giá trị của tham số a cho biến private int a của lớp A.
                           	const int & value() const { return a; } // Hàm get thông thường;
                  };
                  Còn về từ khóa const của đoạn code trên có thể giải thích như sau:
                  ==> Từ khóa const khai báo trước tham số truyền vào của hàm(phương thức) tức là tham số truyền vào là một hằng số và không thể thay đổi giá trị trong thân hàm đó.
                  Ví dụ:

                  Code:
                  int test([B]const[/B] int &a)
                  {
                         a = 5; // Lỗi
                         return a;
                  }
                  
                  int test(int &a)
                  {
                         a = 5; // Đúng
                         return a;
                  }
                  ==> Từ khóa const ở trước hàm (phương thức) sẽ trả về một hằng tham chiếu.
                  Ví dụ:
                  Code:
                  const int test(int a)
                  {
                         return a;
                  }
                  
                  int &c = test(5); // Không cho phép
                  const int &c = test(5); // Cho phép
                  ==> Từ khóa const khai báo sau hàm (phương thức) tức là hàm đó không thể thay đổi giá trị của các thành viên trong lớp đó, trừ khi thành viên trong lớp có thuộc tính là mutable

                  Code:
                  class A{
                  private:
                  	int a;
                  public:
                  	A(const int &a) : a(a) {}
                  	const int value() [B]const[/B]{
                                    		a = 69; // Lỗi
                  		return a;
                  	};
                  };
                  Code:
                  class A{
                  private:
                  	[B]mutable[/B] int a;
                  public:
                  	A(const int &a) : a(a) {}
                  	const int value() [B]const[/B]{
                  		                 a = 69; // Không lỗi.
                  		return a;
                  	};
                  };
                  Chúc bạn thành công !
                  Cảm ơn anh nhiều!!!

                  Comment

                  LHQC

                  Collapse
                  Working...
                  X