Hỏi về cách gọi các phương thức trong những class có liên quan

Nhờ mọi người giải đáp:

#include "Bai_xe.h"
int main()
{
	Bai_xe bai;
	bai.Dang_nhap();
	bai.Menu();
	system("pause");
	return 0;
}

Hàm main gọi đến phương thức Dang_nhap trong Bai_xe

#include "Bai_xe.h"

void Bai_xe::Dang_nhap() {
	The_xe->Dang_nhap();
}

Với : The* The_xe thuộc class Bai_xe, gọi đến phương phức Dang_nhap trong class The

#include "The.h"
#include "The_oto.h"
#include "The_xe_may.h"
#include <ctime>

void The::Dang_nhap() {
	cout << "****** Chon quyen dang nhap ********\n";
	cout << "1. Dang nhap voi quyen nhan vien\n";
	cout << "2. Dang nhap voi quyen quan tri\n";
	int choice;
	bool check = false;
	Tai_khoan* temp;
	temp = new Nhan_vien;

	do
	{
		cout << "+ Nhap lua chon cua ban: "; cin >> choice;
		if (choice == 1)
		{
			check = true;
			temp = new Nhan_vien;
			temp->Dang_nhap();
			Tk_phu_trach = temp;  // Chạy đến dòng này, chương trình tự động dừng lại
		}
		else if (choice ==2)
		{
			check = true;
			temp = new Quan_tri;
			temp->Dang_nhap();
			Tk_phu_trach = temp;  // Chạy đến dòng này, chương trình tự động dừng lại
		}
	} while (check == false);
}

Với: Tai_khoan* Tk_phu_trach nằm trong class The
Chọn đăng nhập với quyền Nhav_vien hay Quan_tri và ép kiểu Tk_phu_trach
***** Lỗi: Không thể gán Tk_phu_trach = temp (cũng như việc không thể ép kiểu Tk_phu_trach = new Nhan_vien)
Em đã thử : trong class Bai_xe thay vì khai báo: The* The_xe, ta khai báo The The_xe thì dòng code trên chạy được nhưng ko biết làm cách nào để ép kiểu The_xe sang The_oto (hay The_xe_may để gọi đến phương thức Nhap_oto ( hay Nhap_xe_may) trong class The_oto (hay The_xe_may).

Sau khi đăng nhập sẽ chạy tiếp bai.Menu(); trong hàm main().
Trong Menu sẽ là các chức năng để gọi đến phương thức Nhap_oto trong class The_oto và các phương thức khác.

*** Thắc mắc: Em đang thấy thứ tự chạy chương trình của em đang bị vòng vo kiểu gì ý. Và em ko biết làm cách nào để gọi đến Nhap_oto hay Nhap_xe_may. Hiện tại, Menu chương trình của em đang đặt trong class Bai_xe.

(Code hơi dài, up lên em sợ bị rối nên ko up hết lên)

Cảm ơn anh chị rất nhiều!

Vòng lặp chính trong int main() chứ sao lại đặt trong class bạn?

3 Likes

lỗi nó ghi là gì sao em ko copy lên :V

1 Like

chương trình vẫn chạy nhưng đến đoạn đó nó ko thực hiện được và tự kết thúc chương trình anh ạ

vòng lặp chính là cái Menu chương trình hả bạn @@

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?