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

Đề tài: Copy Construstor

  1. #1
    Ngày gia nhập
    10 2010
    Bài viết
    19

    Mặc định Copy Construstor

    Cho mình hỏi bài ví dụ nhỏ dưới đây của mình đã đúng với 1 phương thức thiết lập tạo bản sao chưa?

    Code:
    #include "iostream.h"
    #include "conio.h"
    
    class hinhchunhat
    {
    	int dai,rong;
    	public:
    	hinhchunhat();
    	hinhchunhat(hinhchunhat&);
    	void xuat();
    	void get();
    };
    void hinhchunhat::get()
    {
    	cout<<"nhap dai va rong";
    	cin>>dai>>rong;
    }
    void hinhchunhat::xuat()
    {
    	cout<<endl<<dai<<"x"<<rong;
    	cout<<endl<<this;
    }
    hinhchunhat::hinhchunhat()
    {get();}
    hinhchunhat::hinhchunhat(hinhchunhat& X)
    {
    	dai=X.dai;
    	rong=X.rong;
    }
    
    void main()
    {
    	clrscr();
    	hinhchunhat a;
    	a.xuat();
    	hinhchunhat b(a);
    	b.xuat();
    	getch();
    }
    Mình tạo đối tượng a trước, gán cho nó thông qua hàm khởi tạo mặc định >>>
    mình return con trỏ this để xem thì thhấy giá trị khác nhau.
    Vậy mình muốn hỏi là 2 đối tượng a và b này đã là 2 đối tượng biệt lập chưa? tức là khi sửa a hay b thì giá trị biến kia không thay đổi? (tại mình thấy trong sách có mấy vụ gì nói về con trỏ trỏ về 1 vùng nhớ, rồi thì hhàm hủy chạy 2 lần,tùm lum hết)
    Attached Files Attached Files

  2. #2
    Ngày gia nhập
    07 2011
    Bài viết
    160

    Bạn làm như vậy là ổn rồi, a và b là 2 đối tượng biệt lập bạn ạ.
    Nếu để cho thật chuẩn thì bạn nên khai báo hinhchunhat(const hinhchunhat& X); (hoặc hinhchunhat const& X) vì trong constructor này X không thay đổi. Thân

  3. #3
    Ngày gia nhập
    10 2010
    Bài viết
    19

    Trích dẫn Nguyên bản được gửi bởi fbchicken Xem bài viết
    Bạn làm như vậy là ổn rồi, a và b là 2 đối tượng biệt lập bạn ạ.
    Nếu để cho thật chuẩn thì bạn nên khai báo hinhchunhat(const hinhchunhat& X); (hoặc hinhchunhat const& X) vì trong constructor này X không thay đổi. Thân
    ừa. thank bạn nhiều nhé

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

  1. thắc mắc về copy file và kiểm tra tiến trình copy
    Gửi bởi RoboWonder trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 13
    Bài viết cuối: 27-03-2016, 07:15 PM
  2. ADO.NET Hàm Copy file trong c#,copy thiếu dữ liệu
    Gửi bởi gatrongpro trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 08-12-2013, 09:40 PM
  3. [Hỏi] Copy thiếu khi copy nhiều file
    Gửi bởi toi_loi_acon trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 0
    Bài viết cuối: 10-07-2012, 11:02 AM
  4. Firefox Lỗi: Phải nhấn Ctrl+C hoặc Copy 2 lần mới copy được văn bản.
    Gửi bởi Kevin Hoang trong diễn đàn Thắc mắc chung
    Trả lời: 3
    Bài viết cuối: 17-01-2011, 11:17 PM
  5. Lập trình C Deep Copy - Shallow Copy
    Gửi bởi ooDKNYoo trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 25
    Bài viết cuối: 28-05-2010, 03:59 AM

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