-
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:
- Tạo API cho máy mới ráp như thế nào?
- Cách lấy serial ổ cứng bằng C++?
- Lỗi Visual Studio 2010 không tạo project được trong Visual C++
- Làm tròn số trong MFC như thế nào?
- VC++ MFC, công cụ nào hỗ trợ tạo giao diện??
- [Hỏi] Vùng Client trắng xóa khi sử dụng DC ảo
- Header unistd.h values.h
- tại sao mình không thể sử dụng được bản design
- Chuyển C++/CLI project sang MFC project??
- hỏi bộ thư viện SQLAPI++ pro + xin link down
-
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]
Pallet nhựa Long An đã trở thành một trong những lựa chọn phổ biến cho nhu cầu vận chuyển và lưu trữ hàng hóa trong nhiều ngành công nghiệp. Với đặc tính nhẹ nhàng, chắc chắn và dễ vận chuyển, các...
Thanh lý pallet nhựa Long An giá rẻ