2013-03-24 2 views
0

QT의 변수에 약간의 문제가 있습니다. 비록 구조적인 문제가 아니라 실제 QT 문제 일지 모르지만 ...QT 여러 파일 C++ 변수

사용자가 새 데이터베이스를 만든 다음 항목을 추가/삭제하고 삽입 할 수있는 간단한 데이터베이스 응용 프로그램을 프로그래밍하려고합니다.

그 파일은 지금까지 (년 - headerfiles) 내 프로젝트에 있습니다

add.cpp 
database.cpp 
main.cpp 
mainwindow.cpp 

add.ui 
mainwindow.ui 

나는 사용자가 만들거나 mainwindow.cpp에서 데이터베이스를로드 할.

Database* data1 = new Database(); 

제 질문은 어떻게 add.cpp에서 object1 데이터에 액세스 할 수 있습니까?

죄송합니다. 콘솔 C++에서 왔습니다. 파일 배경에 모든 것을 넣고 튜토리얼을 읽지는 않았지만 질문에 답합니다.

+0

'add '에 정의 된 함수에 매개 변수로 전달합니다. 나는 당신의 질문을 이해하지만 잘 모르겠습니다. – Mat

답변

0

한 가지 방법은 네임 스페이스를 만들고이 네임 스페이스에서 개체를 전역 적으로 사용할 수있게 만드는 것입니다. 나는 이것이 캡슐화를 파괴하고 있기 때문에 이것을 추천하지는 않을 것이다.
둘째, 클래스를 Singleton으로 만들면 캡슐화를 유지할 수 있지만 static -methods를 통해 어디에서나 개체에 액세스 할 수 있습니다.

Singleton에 대해 here을 확인하십시오.

이것은 생성자를 private으로 만들고 static 메서드를 사용하여 DataBase 객체의 인스턴스를 만들거나 기존 객체에 액세스하는 것을 의미합니다.

+0

빠른 답변과 미안한 점을 모두 알려 주셔서 감사합니다. Mat의 조언에 따라 데이터베이스 포인터를 add 생성자의 인수로 전달했습니다. –