-
29-04-2016, 12:13 PM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Lỗi con trỏ p trong Class Vector, giúp em với ạ.
Em viết code như sau:
//Vector.h
Mã:class CVector { private: int n; double *p; public: CVector(); CVector(int); CVector(const CVector &); ~CVector(); void Nhap(); void Xuat(); int LayN(); CVector Cong(const CVector &); CVector Tru(const CVector &); CVector Nhan(double); //Nhân với một số thực double Nhan(const CVector &); //Nhân hai vector };
Mã:#include "stdafx.h" #include "Vector.h" #include <iostream> #include <conio.h> #include <math.h> using namespace std; CVector::CVector() { n = 0; p = new double[n]; for (int i = 0; i <= n; i++) p[i] = 0; } CVector::CVector(int nn) { n = nn; p = new double[n]; for (int i = 0; i <= n; i++) p[i] = 0; } CVector::CVector(const CVector &u) { n = u.n; p = new double[n]; for (int i = 0; i < n; i++) { this->p[i] = u.p[i]; } } int CVector::LayN() { return n; } void CVector::Nhap() { for (int i = 0; i < n; i++) { cout << "Nhap toa do thu [" << i << "]: "; cin >> this->p[i]; } } void CVector::Xuat() { cout << "Vector: ("; for (int i = 0;i < n - 1; i++) { cout << this->p[i] << ","; } cout << this->p[n - 1] << ")"; } CVector CVector::Cong(const CVector &u) { CVector temp; temp.n = u.n; temp.p = new double[temp.n]; for (int i = 0; i < n; i++) { temp.p[i] = this->p[i] + u.p[i]; } return temp; } CVector CVector::Tru(const CVector &u) { CVector kq; kq.n = n; kq.p = new double[kq.n]; for (int i = 0; i < n; i++) { kq.p[i] = this->p[i] - u.p[i]; } return kq; } CVector CVector::Nhan(double x) { CVector kq; kq.n = n; kq.p = new double[kq.n]; for (int i = 0; i < n; i++) { kq.p[i] = this->p[i] * x; } return kq; } double CVector::Nhan(const CVector &u) { double kq1=0; for (int i = 0; i < n; i++) { kq1 = kq1 + (this->p[i] * u.p[i]); } return kq1; } CVector::~CVector() { delete []p; }
Bác nào giỏi giúp em vụ này với ạ.View more random threads:
- Cho thằng em dại hỏi tý. In hình thoi bằng các dấu '*'
- Giúp mình sửa bài tập key movement
- Giải thích giùm mình đoạn code
- Quan Ly Su Phat Giao Thong Duong Bo
- Lập trình với ListControl trong MFC như thế nào?
- Tam Giác Thần Bí
- Thắc mắc viết chương trình Paint
- làm thế nào để sử dụng một tấm ảnh làm chức năng tương tự như nut button trong MFC
- Lỗi 2005 link error - already defined in trong C++/CLI
- Cách xuất code file ra exe?
-
29-04-2016, 02:30 PM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
về hàm cộng thì có lẽ thế này
Mã:CVector CVector::Cong(const CVector &u) { CVector *temp=new CVector; temp->n = u.n; temp->p = new double[temp->n]; for (int i = 0; i < n; i++) { temp->p[i] = this->p[i] + u.p[i]; } return *temp; }
-
03-05-2016, 06:41 PM #3Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Mình thử rồi, kết quả vẫn vậy
-
04-05-2016, 10:09 AM #4Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi jungsunghyo
Mình viết như #2 thì thấy ổn muh. Thậm chí return thẳng 1 object trên Ideone còn được.
Mình nghĩ là thớt nên (chính xác là buộc phải) cài đặt cái operator= vì thế nào thớt cũng viết:
Mã:CVector a,b;/* doing something */CVector c = a.Cong(b);
-
04-05-2016, 07:09 PM #5Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Hàm tạo mặc định, cho n == 0, cấp phát bộ nhớ và for, viết thừa ?
Mã:CVector::CVector(){ n = 0; p = new double[n]; for (int i = 0; i <= n; i++) p[i] = 0;}
Mã:CVector CVector::Cong(const CVector &u){ CVector temp; temp.n = u.n; temp.p = new double[temp.n]; for (int i = 0; i < n; i++) { temp.p[i] = this->p[i] + u.p[i]; } return temp;} CVector CVector::Tru(const CVector &u){ CVector kq; kq.n = n; kq.p = new double[kq.n]; for (int i = 0; i < n; i++) { kq.p[i] = this->p[i] - u.p[i]; } return kq;} double CVector::Nhan(const CVector &u){ double kq1=0; for (int i = 0; i < n; i++) { kq1 = kq1 + (this->p[i] * u.p[i]); } return kq1;}
-
26-05-2016, 04:57 PM #6Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
đã ra chưa bạn. [IMG]images/smilies/dont_know.gif[/IMG]
-
26-05-2016, 05:03 PM #7Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
@^^ Quăng exception chứ còn sao nữa, chủ yếu là thớt ko hề nghĩ đến chuyện này, nhưng mà như vậy là không thể chấp nhận được.
@^ Xong rồi bạn [IMG]images/smilies/biggrin.png[/IMG]
Thông qua phân tích dữ liệu Google từ 86 quốc gia, mới đây, một công ty tại Anh đã công bố bảng xếp hạng kích tấc "cậu nhỏ" của các nước trên thế giới. Kết quả, hầu hết các nước xếp ở nhóm đầu của...
"Chim" của chàng trai Việt thuộc...