What is the output of the following code?
#include <iostream>
using namespace std;
class Parent
{
public:
Parent() { Status(); }
virtual ~Parent() { Status(); }
virtual void Status() { cout << "Parent "; }
};
class Child : public Parent
{
public:
Child() { Status(); }
virtual ~Child() { Status(); }
virtual void Status() { cout << "Child "; }
};
void main()
{
Child c;
}
#include <iostream>
using namespace std;
class Parent
{
public:
Parent() { Status(); }
virtual ~Parent() { Status(); }
virtual void Status() { cout << "Parent "; }
};
class Child : public Parent
{
public:
Child() { Status(); }
virtual ~Child() { Status(); }
virtual void Status() { cout << "Child "; }
};
void main()
{
Child c;
}
Chính xác
Xem lời giải
Suy nghĩ trả lời câu hỏi trước khi xem đáp án
ATNETWORK
Lời giải:
Báo saiClass Child kế thừa từ class Parent.
– Khi đối tượng Child được tạo, hàm tạo của class cơ sở sẽ được gọi trước, sau đó mới gọi đến hàm tạo class kế thừa.
– Khi kết thúc chương trình, đối tượng Child bị hủy, hàm hủy của lớp kế thừa được gọi trước, sau đó mới đến hàm hủy lớp cơ sở.
Câu hỏi này thuộc ngân hàng trắc nghiệm dưới đây, bấm vào Xem chi tiết để làm toàn bài
400 Câu hỏi trắc nghiệm lập trình C/C++ có đáp án và lời giải chi tiết
Tổng hợp câu hỏi trắc nghiệm lập trình C/C++ có đáp án và lời giải đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức.
ADMICRO
YOMEDIA
ZUNIA9