ThienThanCNTT
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Cứu bài MyString khi dùng toán tử

3 posters

Go down

Cứu bài MyString khi dùng toán tử Empty Cứu bài MyString khi dùng toán tử

Bài gửi by htn111 19/11/09, 09:59 pm

#include "iostream"
using namespace std;
#include "MyString.h"
#include "string.h"

// Hàm hủy
String::~String()
{ delete s;
}

// Hàm thiết lập 1 tham số
String::String(char *s1)
{ length = strlen(s1);
s = new char[length + 1];
strcpy(s, s1);
}

// Hàm thiết lập sao chép
String::String(String &s1)
{ length = s1.length;
s = new char[length + 1];
strcpy(s, s1.s);
}

// Nạp chồng toán tử
// Toán tử gán
String & String::operator =(String &s1)
{ if(this != &s1)
{ delete s;
length = s1.length;
s = new char[length + 1];
strcpy(s, s1.s);
}
else
cout<<" Hai chuoi la 1, nen khong sao chep"<<endl;
return *this;
}

// Toán tử Nhập - hàm Nhập
istream & operator >> (istream &d, String &s1)
{ cout<<"Nhap chuoi: ";
d>>s1.s;
return d;
}

// Toán tử Xuất
ostream & operator << (ostream &h, String &s1)
{ h<<"Hien thi chuoi: "<<endl;
h<<s1.s<<endl;
return h;
}


// H dùng như vậy, mà nó báo đủ thứ hết trơn
htn111
htn111
VIP mem
VIP mem

Tổng số bài gửi : 28
Số điểm : 70
Số lần được cám ơn : 15
Ngày đến diễn đàn: : 26/08/2009
Tuổi : 35

Về Đầu Trang Go down

Cứu bài MyString khi dùng toán tử Empty Re: Cứu bài MyString khi dùng toán tử

Bài gửi by htn111 19/11/09, 10:06 pm

//MyString.h

#pragma once
#include "string.h"

class String
{
    private:
char *s;
int length; // các thuộc tính
    public:
String(char *s1 = ""); // Hàm thiết lập 1 tham số
String (String &s1); // hàm thiết lập sao chép
~String(); // Hàm hủy
String & operator = (String &s1); // Gán chuỗi A = B
friend ostream & operator <<(ostream &, String &s);
friend istream & operator >> (istream &, string &s);
};
htn111
htn111
VIP mem
VIP mem

Tổng số bài gửi : 28
Số điểm : 70
Số lần được cám ơn : 15
Ngày đến diễn đàn: : 26/08/2009
Tuổi : 35

Về Đầu Trang Go down

Cứu bài MyString khi dùng toán tử Empty Chỉ biết sơ sơ thôi

Bài gửi by anbinhtrong 20/11/09, 01:21 am

Giả sử nếu T viết thế này:
[code] friend ostream & operator <<(ostream &o, String &s1){ return o<
Một cách khách quan hơn: là không dùng công cụ của MS mà xài DEV-C, thử xem có bị báo lỗi không?
Tại sao dùng hàm bạn bị báo lỗi trong VC 6, t sẽ tìm hiểu sau.
Chuỗi nên nhập bằng ...getline(s1.s,sz) nhé.
Delete [] s;//Delete s- có vẻ không ổn.
//----------------------------------
Thật sự khi viết bài này, T không có 1 cuốn C++ nào trong tay, lại càng chưa xem và chưa từng viết về operator, nhất là >>, bởi vậy nên có thể có gì đó sai.
anbinhtrong
anbinhtrong
Mod
Mod

Tổng số bài gửi : 77
Số điểm : 142
Số lần được cám ơn : 32
Ngày đến diễn đàn: : 18/10/2009
Tuổi : 35
Đến từ : BT

http://khoahockithuat.blogspot.com

Về Đầu Trang Go down

Cứu bài MyString khi dùng toán tử Empty Chạy rất tốt bên dev-C

Bài gửi by anbinhtrong 20/11/09, 07:13 am

Ok, thật sự không hiểu lắm, bạn về thử xem lại vài vấn đề nhé: Có lẽ là do cách đặt tên và sử dụng using namespace std;
Mình test bằng dev-C:
Nếu sử dụng std, ra rất nhiều lỗi, cụ thể là 77 lỗi.
Nếu sử dụng dạng iostream.h, không có lỗi nào hết, chương trình chạy đúng 100%. Từ đó mình rút ra, có thể trong thư viện chuẩn std (không biết, mình tự gọi như vậy) có hàm nào trùng tên chăng? Thật sự mình chưa nắm rõ istream và ostream.
Bữa nào bạn kiếm tài liệu về i&ostream rồi up lên cho mình tham khảo thử xem. [You must be registered and logged in to see this image.]
anbinhtrong
anbinhtrong
Mod
Mod

Tổng số bài gửi : 77
Số điểm : 142
Số lần được cám ơn : 32
Ngày đến diễn đàn: : 18/10/2009
Tuổi : 35
Đến từ : BT

http://khoahockithuat.blogspot.com

Về Đầu Trang Go down

Cứu bài MyString khi dùng toán tử Empty Re: Cứu bài MyString khi dùng toán tử

Bài gửi by nth 21/11/09, 05:14 am

kì vậy????????
mình thấy thư viện #include "iostream"
using namespace std
là y như thư viện istream và ostream mà, sao kì vậy ha.. Vì cái đó mình dùng VS2008 nên không thể include thư viện iostream.h được
nth
nth
Admin
Admin

Tổng số bài gửi : 550
Số điểm : 1113
Số lần được cám ơn : 33
Ngày đến diễn đàn: : 01/08/2009
Tuổi : 35
Đến từ : Thiên Đường

https://thuhuong.forumvi.net

Về Đầu Trang Go down

Cứu bài MyString khi dùng toán tử Empty Re: Cứu bài MyString khi dùng toán tử

Bài gửi by anbinhtrong 21/11/09, 11:22 am

Mình xài dev-C, cả 2 cách đều viết được. Về cấu trúc thì không sai đâu, có thể do lỗi biên dịch, không có chuyện dev-C dịch được mà VS 2008 lại dịch không được.
anbinhtrong
anbinhtrong
Mod
Mod

Tổng số bài gửi : 77
Số điểm : 142
Số lần được cám ơn : 32
Ngày đến diễn đàn: : 18/10/2009
Tuổi : 35
Đến từ : BT

http://khoahockithuat.blogspot.com

Về Đầu Trang Go down

Cứu bài MyString khi dùng toán tử Empty Re: Cứu bài MyString khi dùng toán tử

Bài gửi by Sponsored content


Sponsored content


Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết