-
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:
- Lỗi skip building project MFC Hello
- Chương trình không biên dịch lại trong VS 2010
- Biến con trỏ khi nào thì new khi nào thì delete
- Customize advapi3a.dll with RegQueryValueW
- Xây dựng c.trúc gồm: Tên, Mã SV, Điểm thi: Toán, Lý, Hóa.. Help!
- Load ảnh trong Resource Files vào PictureBox
- Liên kết VC++ với VB 6.0
- Thay đổi icon của chuột khi chuột di chuyển vào vùng dialog
- giải hệ phương trình bậc nhất
- Cách ngắt kết nối thư viện DLL trong chương trình MFC ?
-
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]
Bất chấp những lầm tưởng phổ quát, hồ hết những người có âm đạo đều khó lên đỉnh khi bị kích thích âm đạo. Tuy nhiên, điều đó không có tức thị nó không thể vui được! Việc xâm nhập vào âm đạo bằng...
Quý bà giải tỏa bằng việc kích...