Khai báo và cài đặt lớp sinh viên để chạy đúng với hàm main sau:
Code:
void main()
{
//MSSV: "xxxxxxx", HoTen: "xxxx", NgaySinh: xx/xx/xxxx, DLT: 10, DTH: 10
SinhVien sv1;
sv1.Xuat();
SinhVien sv2("1363001");
sv2.Xuat();
SinhVien sv3("1363002", "Nguyen Van A", 7, 8.5);
sv3.Xuat();
SinhVien sv4("1363003", "Tran Thi B", 8, 9.5, 12, 3, 1996);
sv4.Xuat();
NgayThang n(30, 2, 1996);
SinhVien sv5("1363004", "Ngo Van C", 5, 6, n);
sv5.Xuat();
SinhVien sv6(sv5);
sv6.Xuat();
}
vì mình mới học lập trình hướng đối tượng, nên mình thắc mắc có phải chỗ NgayThang là mình phải tạo class mới không, và tạo như thế nào?
code mình đang làm dang dở:
Code:
#include<iostream>
#include<string>
using namespace std;
class SinhVien {
private:
int ngay, thang, nam;
double dlt, dth;
string ten, mssv;
public:
SinhVien();
SinhVien(string maso);
SinhVien(string maso, string name, double diemlt, double diemth);
SinhVien(string maso, string name, int date, int month, int year);
SinhVien(string maso, string name, double diemlt, double diemth, int date, int month, int year);
void Xuat();
~SinhVien();
};
SinhVien::SinhVien()
{
mssv = "xxxxxxx";
ten = "xxxx";
ngay = 1;
thang = 1;
nam = 1;
dlt = 10;
dth = 10;
}
SinhVien::SinhVien(string maso)
{
mssv = maso;
ten = "khong co ten";
ngay = 0;
thang = 0;
nam = 0;
dlt = 0;
dth = 0;
}
SinhVien::SinhVien(string maso, string name, double diemlt, double diemth)
{
mssv = maso;
ten = name;
dlt = diemlt;
dth = diemth;
ngay = 0;
thang = 0;
nam = 0;
}
SinhVien::SinhVien(string maso, string name, double diemlt, double diemth, int date, int month, int year)
{
mssv = maso;
ten = name;
ngay = date;
thang = month;
nam = year;
dlt = diemlt;
dth = diemth;
}
void SinhVien::Xuat()
{
cout << "MSSV: " << mssv << ", " << "HoTen: " << ten << ", " << "NgaySinh: " << ngay << "/" << thang << "/" << nam << "," << " DLT: " << dlt << ", " << "DTH: " << dth << endl;
}
SinhVien::~SinhVien()
{
}
int main()
{
SinhVien sv1;
sv1.Xuat();
SinhVien sv2("1363001");
sv2.Xuat();
SinhVien sv3("1363002", "Nguyen Van A", 7, 8.5);
sv3.Xuat();
SinhVien sv4("1363003", "Tran Thi B", 8, 9.5, 12, 3, 1996);
sv4.Xuat();
NgayThang n(30, 2, 1996);
SinhVien sv5("1363004", "Ngo Van C", 5, 6, n);
sv5.Xuat();
//SinhVien sv6(sv5);
//sv6.Xuat();
}