Xin chào mn, em có 1 class Chai:
#include <iostream>
using namespace std;
class Chai
{
protected:
int chieuCao;
int luongNuoc;
public:
virtual void Nhap();
virtual float TinhV() = 0;
virtual float TinhSToanPhan() = 0;
int GetLuongNuoc();
Chai();
~Chai();
};
và class này có 3 class con: class HinhCN, class HinhTruTron, class HinhLP:
#include"Chai.h"
class HinhCN : public Chai
{
private:
int chieuDai;
int chieuRong;
public:
void Nhap();
float TinhV();
float TinhSToanPhan();
HinhCN();
~HinhCN();
};
class HinhTruTron : public Chai
{
private:
int banKinh;
public:
void Nhap();
float TinhV();
float TinhSToanPhan();
HinhTruTron();
~HinhTruTron();
};
class HinhLP : public Chai
{
public:
void Nhap();
float TinhV();
float TinhSToanPhan();
HinhLP();
~HinhLP();
};
sau đó em có 1 class QLChai, class chai và class QLChai là quan hệ 1 - n:
#include"Chai.h"
class QLChai
{
private:
int soLuong;
Chai** danhSach;
float TinhLuongNuoc();
int TinhSManhVo();
public:
void Nhap();
void Xuat();
QLChai();
~QLChai();
};
trong class QLChai có con trỏ:
Chai** danhSach
em cấp phát động cho nó:
cin >> soLuong;
danhSach = new Chai * [soLuong];
em đang có 1 mảng các con trỏ, em đang vướng là làm sao để cấp phát động cho từng con trỏ trong mảng vì class Chai đang là abstract class và 1 câu hỏi xấu hổ là truy xuất đến hàm nhập của 3 class con thông qua class QLChai kiểu gì, em mới học tới đa hình nên yếu phần này.