Chủ đề: hàm tái định nghĩa toán tử gán
-
15-03-2013, 05:45 PM #1Junior Member
- Ngày tham gia
- Sep 2015
- Đang ở
- Hà Nội
- Bài viết
- 0
hàm tái định nghĩa toán tử gán
Mã:#include<conio.h> #include<iostream> #include<string.h> //#include<fstream.h> using namespace std; class Gach{ private : char* maso; char* mau; int soluong; int dai; int rong; float giaban; public : Gach(); Gach(char* ,char* , int ,int , int ,float ); Gach& operator = (const Gach&); ~Gach(); Gach(const Gach&); friend ostream& operator << (ostream& ,Gach); friend istream& operator >>(istream&,Gach&); float giabanle(); Gach& operator = (const Gach& j) { delete[] maso; maso=strdup(j.maso); delete[] mau; mau=strdup(j.mau); soluong=j.soluong; dai=j.dai; rong=j.rong; giaban=j.giaban; return *this; } }; Gach::Gach(){ maso= new char[10]; strcpy(maso," "); mau=new char [50]; strcpy(mau," "); soluong=0; dai=0; rong=0; giaban=0; } Gach::Gach(char* ms,char* m, int sl,int d,int r, float gb ){ // ms=new char[10]; maso=strdup(ms); //m=new char[50]; mau=strdup(m); soluong=sl; dai=d; rong=r; giaban=gb; } Gach::Gach(const Gach& g){ maso=strdup(g.maso); mau=strdup(g.mau); soluong=g.soluong; dai=g.dai; rong=g.rong; giaban=g.giaban; } Gach::~Gach(){ delete[] maso; delete[] mau; } ostream& operator <<(ostream& os,Gach g){ os<<"Ma So : "<<g.maso<<endl; os<<"Mau : "<<g.mau<<endl; os<<"So Luong : "<<g.soluong<<endl; os<<"Chieu dai : "<<g.dai<<endl; os<<"Chieu Rong : "<<g.rong<<endl; os<<"Gia Ban : "<<g.giaban<<endl; return os; } istream& operator >>(istream& is,Gach& g){ cout<<"Nhap ma so : "; is.getline(g.maso,9); cout<<"Nhap mau : "; is.getline(g.mau,49); cout<<"Nhap So Luong : "; is>>g.soluong; cout<<"Nhap chieu dai : "; is>>g.dai; cout<<"Nhap chieu rong : "; is>>g.rong; cout<<"Gia Ban : "; is>>g.giaban; return is; } int main(){ Gach a("11111","nhan",12,32,43,2.3); cout<<a; getch(); return 0; }
View more random threads:
- code của mình bị lỗi gì ??? chỉ biết khi chạy thì nó báo lỗi rồi out ra khỏi chương trình. Làm ơn giúp giùm !!!
- xem giùm mình code bài về lớp kế thừa
- ai giúp bài tính tổng dãy số có giai thừa và lũy thừa? (không biết đề sai hay mình không biết làm)
- bài tập C cơ bản
- dấu {} trong C free
- bác bào chỉ rõ từng lệnh và ý tưởng của thuật toán giúp em với
- Code không sai nhưng kết quả sai không hiểu tại sao
- Lỗi nhập dữ liệu cin.getline
- bài tập nhập/xuất chuỗi
- Tổng hai số nguyên lớn!
-
16-03-2013, 09:05 AM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Mã:#include<conio.h>#include<iostream>#include<string.h> using namespace std;class Gach{ private : char* maso; char* mau; int soluong; int dai; int rong; float giaban; public : Gach(); Gach(char* ,char* , int ,int , int ,float ); //Gach& operator = (const Gach&); ~Gach(); Gach(const Gach&); friend ostream& operator << (ostream& ,Gach); friend istream& operator >>(istream&,Gach&); float giabanle(); Gach& operator = (const Gach& j) { delete[] maso; maso=strdup(j.maso); delete[] mau; mau=strdup(j.mau); soluong=j.soluong; dai=j.dai; rong=j.rong; giaban=j.giaban; return *this; } }; Gach::Gach(){ maso= new char[10]; strcpy(maso," "); mau=new char [50]; strcpy(mau," "); soluong=0; dai=0; rong=0; giaban=0; } Gach::Gach(char* ms,char* m, int sl,int d,int r, float gb ){ // ms=new char[10]; maso=strdup(ms); //m=new char[50]; mau=strdup(m); soluong=sl; dai=d; rong=r; giaban=gb; } Gach::Gach(const Gach& g){ maso=strdup(g.maso); mau=strdup(g.mau); soluong=g.soluong; dai=g.dai; rong=g.rong; giaban=g.giaban; } Gach::~Gach(){ delete[] maso; delete[] mau; } ostream& operator <<(ostream& os,Gach g){ os<<"Ma So : "<<g.maso<<endl; os<<"Mau : "<<g.mau<<endl; os<<"So Luong : "<<g.soluong<<endl; os<<"Chieu dai : "<<g.dai<<endl; os<<"Chieu Rong : "<<g.rong<<endl; os<<"Gia Ban : "<<g.giaban<<endl; return os; } istream& operator >>(istream& is,Gach& g){ cout<<"Nhap ma so : "; is.getline(g.maso,9); cout<<"Nhap mau : "; is.getline(g.mau,49); cout<<"Nhap So Luong : "; is>>g.soluong; cout<<"Nhap chieu dai : "; is>>g.dai; cout<<"Nhap chieu rong : "; is>>g.rong; cout<<"Gia Ban : "; is>>g.giaban; return is; } int main(){ Gach a("11111","nhan",12,32,43,2.3); cout<<a; getch(); return 0; }
Ngọc Bích xanh bản chất thuộc dòng đá đá hoa (jade). Và cẩm thạch là tên gọi chung của ngọc bích. Vì thực chất chúng thuộc dòng đá đa khoáng được hình thành từ chất Silicat dưới dạng dioxy. Ngọc bích...
Chia sẻ Vòng tay ngọc bích xanh là...