Bài thực hành buổi 4 Môn: Lập Trình Hướng Đối Tượng GV: Lê Thị Thu Lan
k4info :: Khu vực học tập :: Học Tập :: Thư viện :: C++
Trang 1 trong tổng số 1 trang
Bài thực hành buổi 4 Môn: Lập Trình Hướng Đối Tượng GV: Lê Thị Thu Lan
1. Hàm xây dựng gán giá trị ban đầu cho một đối tượng ngay khi khai báo
Khái báo CLASS PhanSo(thuộc tính: x,y; phương thức: nhaptt, intt) mô tả phân số x/y. Định nghĩa hàm xây dựng cho các trường hợp
o Nếu khi khai báo đối tượng không có truyền tham số, giá trị ban đầu x=0,y=1
o Khai báo đối tượng có truyền một tham số a: x=a, y=1
o Khai báo đối tượng có truyền 2 tham số a,b: x=a, y=b
Khái báo CLASS PhanSo(thuộc tính: x,y; phương thức: nhaptt, intt) mô tả phân số x/y. Định nghĩa hàm xây dựng cho các trường hợp
o Nếu khi khai báo đối tượng không có truyền tham số, giá trị ban đầu x=0,y=1
o Khai báo đối tượng có truyền một tham số a: x=a, y=1
o Khai báo đối tượng có truyền 2 tham số a,b: x=a, y=b
- Code:
#include<conio.h>
#include<stdio.h>
#include<iostream>
using namespace std;
class phanso
{
private:
int x;
int y;
public:
phanso();
phanso(int);
phanso(int,int);
void hien(char* = "");
};
phanso::phanso()
{
x=0;y=1;
};
phanso::phanso(int a)
{
x=a; y=1;
};
phanso::phanso(int a, int b)
{
x=a; y=b;
};
void phanso::hien(char* str)
{
cout<<str;
cout<<x<<"/"<<y;
};
int main()
{
phanso a, b(5), c(5,6);
a.hien("\nPhan so cua A la: ");
b.hien("\nPhan so cua B la: ");
c.hien("\nPhan so cua C la: ");
getch();
}
- Code:
#include<conio.h>
#include<stdio.h>
#include<iostream>
#include<string.h>
using namespace std;
class sinhvien
{
private:
char ms[10];
char* hoten;
int namsinh;
float diemtb;
public:
sinhvien();
sinhvien(char*,char*,int,float);
void nhap(char* = "");
void in(char* = "");
};
sinhvien::sinhvien()
{
strcpy(ms,""); //string copy
hoten=new char[50]; //Cap phat vung nho cho con tro sring
strcpy(hoten,"");
namsinh=1980;
diemtb=0;
};
sinhvien::sinhvien(char* m,char* t,int ns,float d)
{
strcpy(ms,m);
hoten=new char[50]; //Cap phat vung nho cho con tro String
strcpy(hoten,t);
namsinh=ns;
diemtb=d;
};
void sinhvien::nhap(char* str)
{
cout<<str;
cout<<"\nMa sinh vien: ";
cin>>ms;
cout<<"\nTen Sinh Vien: ";
cin.ignore();
cin.getline(hoten,50); //Lay nguyen dong ten, cho phep nhap khoang trang
cout<<"\nNam sinh: ";
cin>>namsinh;
cout<<"\nDiem TB: ";
cin>>diemtb;
};
void sinhvien::in(char* str)
{
cout<<str;
cout<<"\nMa so: "<<ms<<"\nHo Ten: "<<hoten<<"\nNam Sinh: "<<namsinh<<"\nDiem TB: "<<diemtb;
};
int main()
{
sinhvien a;
a.in("\nSinh vien 1: ");
sinhvien b("01","Nguyen Van An",1990,8.5);
b.in("\nSinh vien 2: ");
sinhvien c;
c.nhap("\nNhap TT sinh vien 3: ");
c.in("Thong tin sinh vien vua nhap: ");
getch();
}
- Code:
#include<conio.h>
#include<stdio.h>
#include<iostream>
#include<string.h>
using namespace std;
class sinhvien
{
private:
char ms[10];
char* hoten;
int namsinh;
float diemtb;
public:
sinhvien();
sinhvien(char*,char*,int,float);
void nhap(char* = "");
void in(char* = "");
~sinhvien();
};
sinhvien::~sinhvien()
{
delete[]hoten;
}
sinhvien::sinhvien()
{
strcpy(ms,""); //string copy
hoten=new char[50]; //Cap phat vung nho cho con tro sring
strcpy(hoten,"");
namsinh=1980;
diemtb=0;
};
sinhvien::sinhvien(char* m,char* t,int ns,float d)
{
strcpy(ms,m);
hoten=new char[50]; //Cap phat vung nho cho con tro String
strcpy(hoten,t);
namsinh=ns;
diemtb=d;
};
void sinhvien::nhap(char* str)
{
cout<<str;
cout<<"\nMa sinh vien: ";
cin>>ms;
cout<<"\nTen Sinh Vien: ";
cin.ignore();
cin.getline(hoten,50); //Lay nguyen dong ten, cho phep nhap khoang trang
cout<<"\nNam sinh: ";
cin>>namsinh;
cout<<"\nDiem TB: ";
cin>>diemtb;
};
void sinhvien::in(char* str)
{
cout<<str;
cout<<"\nMa so: "<<ms<<"\nHo Ten: "<<hoten<<"\nNam Sinh: "<<namsinh<<"\nDiem TB: "<<diemtb;
};
int main()
{
sinhvien a;
a.in("\nSinh vien 1: ");
sinhvien b("01","Nguyen Van An",1990,8.5);
b.in("\nSinh vien 2: ");
sinhvien c;
c.nhap("\nNhap TT sinh vien 3: ");
c.in("Thong tin sinh vien vua nhap: ");
getch();
}
Dựng hàm xây dựng sao chép cho CLASS SinhVien
- Code:
#include<conio.h>
#include<stdio.h>
#include<iostream>
#include<string.h>
using namespace std;
class sinhvien
{
private:
char ms[10];
char* hoten;
int namsinh;
float diemtb;
public:
sinhvien();
sinhvien(char*,char*,int,float);
void nhap(char* = "");
void in(char* = "");
~sinhvien();
sinhvien(const sinhvien&);
};
sinhvien::sinhvien(const sinhvien& s)
{
strcpy(ms,s.ms);
hoten=new char[50];
strcpy(hoten,s.hoten); //Copy du lieu dang con tro cua doi tuong cu s sang doi tuong khoi tao
namsinh=s.namsinh;
diemtb=s.diemtb;
};
sinhvien::~sinhvien()
{
delete[]hoten;
}
sinhvien::sinhvien()
{
strcpy(ms,""); //string copy
hoten=new char[50]; //Cap phat vung nho cho con tro sring
strcpy(hoten,"");
namsinh=1980;
diemtb=0;
};
sinhvien::sinhvien(char* m,char* t,int ns,float d)
{
strcpy(ms,m);
hoten=new char[50]; //Cap phat vung nho cho con tro String
strcpy(hoten,t);
namsinh=ns;
diemtb=d;
};
void sinhvien::nhap(char* str)
{
cout<<str;
cout<<"\nMa sinh vien: ";
cin>>ms;
cout<<"\nTen Sinh Vien: ";
cin.ignore();
cin.getline(hoten,50); //Lay nguyen dong ten, cho phep nhap khoang trang
cout<<"\nNam sinh: ";
cin>>namsinh;
cout<<"\nDiem TB: ";
cin>>diemtb;
};
void sinhvien::in(char* str)
{
cout<<str;
cout<<"\nMa so: "<<ms<<"\nHo Ten: "<<hoten<<"\nNam Sinh: "<<namsinh<<"\nDiem TB: "<<diemtb;
};
int main()
{
sinhvien a;
a.nhap("\nNhap TT sinh vien A: ");
a.in("\n\nSinh vien A: ");
sinhvien b;
b=a;
b.in("\n\nSinh vien B=A: ");
sinhvien c(a);
c.in("\n\nThong sinh vien C sao chep tu A: ");
a.nhap("\n\nDoi TT sinh vien A: ");
b.in("\nThong tin sinh vien B=A: ");
c.in("\nTT sinh vien C sao chep tu A: ");
getch();
}
Dựng Class Diem, dựng Class DuongTron trong đó tận dụng lại Class Diem để chưa thông tin tâm của đường tròn
- Code:
#include<conio.h>
#include<stdio.h>
#include<iostream>
using namespace std;
class diem
{
private:
int x;
int y;
public:
diem();
diem(int);
diem(int,int);
void nhaptt();
void in();
void doidiem(int, int);
};
diem::diem()
{
x=y=0;
};
diem::diem(int a)
{
x=y=a;
};
diem::diem(int x1, int y1)
{
x=x1; y=y1;
};
void diem::nhaptt()
{
cout<<"x = "; cin>>x;
cout<<"y = "; cin>>y;
};
void diem::in()
{
cout<<"("<<x<<","<<y<<")";
};
void diem::doidiem(int x1, int y1)
{
x=x1;y=y1;
};
class duongtron
{
diem tam;
int r;
public:
duongtron(); //Dung duong tron khong co thong tin ban dau
duongtron(diem,int);//Dung duong tron voi tam la mot diem va ban kinh xac dinh
duongtron(int,int,int); //Dung duong tron voi toa do Tam vaf Ban Kinh xac dinh
duongtron(const duongtron&);//Sao chep thong tin tu mot duong tron khac
void ve();
void nhap();
void doidiem(int,int);//Doi Tam duong tron
};
/*Goi kem ham xay dung Diem khi dinh nghia ham xay
dung duong tron vi diem day la tam cua duong tron*/
duongtron::duongtron():tam()//Tam la diem chua xac dinh
{r=0;}
duongtron::duongtron(diem d,int bk):tam(d)//Tam la diem d
{r=bk;}
duongtron::duongtron(int x,int y,int bk):tam(x,y)//Tam la diem co toa do x,y
{r=bk;}
duongtron::duongtron(const duongtron& d):tam(d.tam)//Tam la tam cua mot duong tron d khac
{r=d.r;}
void duongtron::ve()
{
cout<<"Tam: ";
tam.in();
cout<<endl;
cout<<"Ban Kinh: "<<r<<endl;
};
void duongtron::nhap()
{
cout<<"Nhap Tam: "<<endl;
tam.nhaptt();
cout<<"Nhap ban kinh: ";
cin>>r;
};
int main()
{
duongtron a;
a.nhap();
a.ve();
getch();
}
- Code:
#include<conio.h>
#include<stdio.h>
#include<iostream>
#include<string.h>
using namespace std;
class sinhvien
{
private:
char ms[10];
char* hoten;
int namsinh;
float diemtb;
public:
sinhvien();
sinhvien(char*,char*,int,float);
void nhap(char* = "");
void in(char* = "");
};
sinhvien::sinhvien()
{
strcpy(ms,""); //string copy
hoten=new char[50]; //Cap phat vung nho cho con tro sring
strcpy(hoten,"");
namsinh=1980;
diemtb=0;
};
sinhvien::sinhvien(char* m,char* t,int ns,float d)
{
strcpy(ms,m);
hoten=new char[50]; //Cap phat vung nho cho con tro String
strcpy(hoten,t);
namsinh=ns;
diemtb=d;
};
void sinhvien::nhap(char* str)
{
cout<<str;
cout<<"\nMa sinh vien: ";
cin>>ms;
cout<<"\nTen Sinh Vien: ";
cin.ignore();
cin.getline(hoten,50); //Lay nguyen dong ten, cho phep nhap khoang trang
cout<<"\nNam sinh: ";
cin>>namsinh;
cout<<"\nDiem TB: ";
cin>>diemtb;
};
void sinhvien::in(char* str)
{
cout<<str;
cout<<"\nMa so: "<<ms<<"\nHo Ten: "<<hoten<<"\nNam Sinh: "<<namsinh<<"\nDiem TB: "<<diemtb;
};
class lophoc
{
private:
char malop[10];
char* tenlop;
char nienkhoa[9];
int slsv;
sinhvien* dssv[200];//Toi da 200 SV cho 1 lop
public:
lophoc();
void nhap();
void in();
};
lophoc::lophoc()
{
strcpy(malop,"");
tenlop=new char[50];
strcpy(nienkhoa,"");
slsv=0;
//dssv: mang con tro, con tro nay se duoc cap phat vung nho khi co sinh vien cu the
}
void lophoc::nhap()
{
cout<<"\nMa lop hoc: ";
cin>>malop;
cout<<"\nTen lop hoc: ";
cin.ignore();
cin.getline(tenlop,49);//Lay nguyen dong cho phep nhap khoang trang
cout<<"\nNien khoa: ";
cin>>nienkhoa;
cout<<"\nSo luong sinh vien: ";
cin>>slsv;
for(int i=0;i<slsv;i++)
{
/*Do so luong sinh vien tung lop khac nhau nen viec
cap phat vung nho se thuc hien truoc khi cap nhat
thong tin 1 sinh vien cu the*/
dssv[i]=new sinhvien();
dssv[i]->nhap();
}
};
void lophoc::in()
{
cout<<"\nLop: "<<malop<<". Ten lop: "<<tenlop<<"("<<nienkhoa<<")"<<". So luong sinh vien: "<<slsv;
cout<<"\nDanh sach sinh vien cua lop: ";
for(int i=0;i<slsv;i++)
{
dssv[i]->in();
}
};
int main()
{
lophoc a;
a.nhap();
a.in();
getch();
}
Quản lý thông tin trường gồm mã trường, tên trường, địa chỉ, danh sách phòng học và thông tin kèm theo để giới thiệu cơ sở vật chất của trường
Số lượng lượng phòng của từng trường do người dùng nhập
Dựng chương trình cho phép nhập n trường, in danh sách trường và phòng học kèm theo
Áp dụng hàm khởi tạo, hủy cho các mảng động, thuôc tính danh sách phòng học của trường là đối tượng phòng
Similar topics
» Bài thực hành buổi 1 Môn: Lập Trình Hướng Đối Tượng GV: Lê Thị Thu Lan
» Bài thực hành buổi 3 Môn: Lập Trình Hướng Đối Tượng GV: Lê Thị Thu Lan
» Bài thực hành buổi 5 Môn: Lập Trình Hướng Đối Tượng GV: Lê Thị Thu Lan
» Bài thực hành buổi 2 Môn: Lập Trình Hướng Đối Tượng GV: Lê Thị Thu Lan
» Bài thực hành buổi 6 Môn: Lập Trình Hướng Đối Tượng GV: Lê Thị Thu Lan
» Bài thực hành buổi 3 Môn: Lập Trình Hướng Đối Tượng GV: Lê Thị Thu Lan
» Bài thực hành buổi 5 Môn: Lập Trình Hướng Đối Tượng GV: Lê Thị Thu Lan
» Bài thực hành buổi 2 Môn: Lập Trình Hướng Đối Tượng GV: Lê Thị Thu Lan
» Bài thực hành buổi 6 Môn: Lập Trình Hướng Đối Tượng GV: Lê Thị Thu Lan
k4info :: Khu vực học tập :: Học Tập :: Thư viện :: C++
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
|
|