Có thể khởi tạo đối tượng của một lớp ngay cả trước khi hàm main() thực thi không? Nếu có, tôi làm như thế nào?Khởi tạo đối tượng của một lớp trước khi hàm main() thực hiện
6
A
Trả lời
7
Đối tượng chung được tạo trước khi main()
được gọi.
struct ABC {
ABC() {
std::cout << "In the constructor\n";
}
};
ABC s; // calls the constructor
int main()
{
std::cout << "I am in main now\n";
}
5
Vâng, bạn có thể làm điều đó như vậy:
#include <iostream>
struct X {
X() { std::cout << "X()\n"; }
};
X x;
int main(int argc, char ** argv) {
std::cout << "main()\n";
}
Các vấn đề liên quan
- 1. Tại sao bộ khởi tạo trường của một lớp dẫn xuất được thực hiện trước khi các trình khởi tạo của lớp cơ sở
- 2. Thực hiện kiểm tra trước khi khởi tạo danh sách
- 3. Khởi tạo một vectơ trước main() trong C++
- 4. Java: chuỗi khởi tạo của đối tượng
- 5. Có một thể hiện của siêu lớp được tạo khi chúng ta khởi tạo một đối tượng không?
- 6. Cách thực hiện nhiều hàm tạo, khi tạo đối tượng đơn
- 7. lớp khởi tạo từ đối tượng lớp
- 8. Python - Tồn tại một hàm được gọi khi một đối tượng không thực hiện một hàm?
- 9. Thực tiễn tốt nhất của Java - Tuyên bố hàm tạo trước khi biến lớp biến thành một điều xấu?
- 10. C++ - Chạy một hàm trước khi khởi tạo thành viên lớp
- 11. C++ khởi tạo đối tượng và ngữ nghĩa hàm tạo
- 12. Khởi tạo một đối tượng mới từ lớp trong Enum
- 13. Tại sao hàm tạo lớp cơ sở trừu tượng của tôi không được gọi khi một đối tượng được khởi tạo bởi trình gỡ rối WCF?
- 14. Tôi có thể khởi tạo một lớp ẩn danh trong hàm tạo của lớp ngoài không?
- 15. Sự khác biệt giữa việc khởi tạo một lớp và khởi tạo một đối tượng?
- 16. Khởi tạo đối tượng singleton bằng Class.forName()?
- 17. Khởi tạo đối tượng lớp bằng hàm tạo chấp nhận tham số chuỗi?
- 18. Khai báo một đối tượng ngay cả trước khi lớp đó được tạo ra
- 19. Việc tạo một thể hiện của một lớp con có tự động tạo đối tượng siêu lớp của nó không?
- 20. Lớp tĩnh nào khởi tạo trước tiên?
- 21. Tại sao các đối tượng thành viên được khởi tạo sau hàm tạo của lớp siêu hạng?
- 22. Cách khởi tạo mảng trong java khi hàm tạo của lớp có các tham số?
- 23. Khi nào các hàm thành viên đặc biệt của một lớp mẫu được khởi tạo?
- 24. Di chuyển hàm khởi tạo trên đối tượng dẫn xuất
- 25. Gọi một hàm trước khi chính
- 26. Tạo đối tượng sau khi khởi tạo với ninject
- 27. Khởi tạo một mảng của các đối tượng
- 28. Có thể thực hiện tính toán trước siêu() trong hàm tạo không?
- 29. Gọi hàm tạo lớp con trước hàm tạo cha
- 30. Còn một "cách tìm tên lớp/hàm tạo của đối tượng Javascript"?
làm việc như thế này? Không thực hiện bắt đầu tại main()? Bạn có thể ném một số ánh sáng? – Shree
@Shree: Xem các chỉnh sửa. Mã làm việc [ở đây] (http://ideone.com/mKEB9) –
@Shree: Không. Các biến Global (và một vài khác) phải được tạo trước 'main()', vì chúng được yêu cầu có thể sử dụng được khi ' main() 'bắt đầu. Vì vậy, các hàm tạo của chúng phải được gọi trước 'main()'. – sbi