Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 7 của 7
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Làm sao để khởi tạo giá trị 0 cho các thành phần của một mảng là biến private trong class?

    Có bạn nào có cách cách để khởi tạo giá trị bằng 0 cho mảng private không ngoài cách là gán giá trị cho từng phần tử một bằng cách tạo một constructor như code dưới. Ý mình là làm sao để có thể khởi tạo nó giống như một biến bình thường như sau: int a[100] = {0}
    Mã:
    #include <iostream>
    
    using namespace std;
    
    class mang{
    	public:
    		mang(){
    			for(int i = 0; i < 100; i++){
    				a[i] = 0;
    			}
    		}
    		int getArr(int theIndex){
    			return a[theIndex];
    		}
    	private:
    		int a[100];
    };
    
    int main(){
    	mang A;
    	
    	for(int i = 0; i < 10; i++){
    		cout << A.getArr(i) << " ";
    	}
    	
    	return 0;
    }

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    theo kiến thức hiện tại bây giờ của mình là không nhé !
    có hay chăng thì int a[100]={0,0,0,0,......,0}//100 số 0 nhé

  3. #3
    Xài vector đi... thì gán 0 lúc khởi tạo được...

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    OK: http://ideone.com/CG2RIG
    C++11 nhé.

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    À, đã hiểu [IMG]images/smilies/smile.png[/IMG]
    Tức là viết int[] x={0}.

    Thực ra khi bạn ghi chỉ 1 số 0 tức là phần tử đầu là 0, các phần tử sau khởi tạo mặc định (chứ ko phải ghi như vậy thì tất cả bằng 0 !)

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mình cũng nhớ trong sách của thầy Ất có ghi muốn các phần tử mảng xác định giá trị thì chỉ có nước dùng vòng lặp gán thôi cậu.
    P/s: Tìm mãi không thấy đoạn đó ở đâu.

  7. #7
    Kiểu khởi tạo đó như dành riêng cho mảng rồi.
    Trong 3 loại constructor thì ko có loại nào cho viết kiểu đó, may ra bạn viết kiểu A::A<class T>(T*,int) thì đc.

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •