构造和析构

简介: class CA { public: CA() { std::cout<<"CA construction"<<std::endl;}; ~CA(){ std::cout<<"CA destruction"<<std::endl;}; // 无virtual }; class CB : public CA { publ
class CA
{
public:
	CA() { std::cout<<"CA construction"<<std::endl;};
	~CA(){ std::cout<<"CA destruction"<<std::endl;}; // 无virtual
};

class CB : public CA
{
public:
	CB() { std::cout<<"CB construction"<<std::endl;}
	~CB(){ std::cout<<"CB destruction"<<std::endl;}
};

void GetValueMax()
{
	CB b;  
}

int main()
{
	GetValueMax();

	std::cout<<std::endl<<std::endl;

	CA* pA;
	pA = new CB;
	delete pA;
}

输出:

CA construction

CB construction

CB destruction

CA destruction

 

CA construction

CB construction

CA destruction

如果CA的析构函数声明为virtual,则会调用CB的析构函数。

相关文章
C4.
|
1月前
|
C++
C++class的构造与析构
C++class的构造与析构
C4.
23 0
|
5月前
|
编译器 程序员 C++
21 C++ - 对象的构造和析构
21 C++ - 对象的构造和析构
48 0
|
26天前
|
C++
3. C++构造和析构
3. C++构造和析构
27 0
|
5月前
|
编译器 C++
44 C++ - 继承中的构造和析构
44 C++ - 继承中的构造和析构
25 0
|
3月前
|
存储 编译器 C++
C++:this指针和构造与析构的运用--1
C++:this指针和构造与析构的运用--1
|
3月前
|
存储 编译器 C++
C++:this指针和构造与析构的运用--2
C++:this指针和构造与析构的运用--2
|
3月前
|
存储 C++
C++:this指针和构造与析构的运用--3
C++:this指针和构造与析构的运用--3
|
8月前
|
算法 C语言 C++
C++构造和析构
C++构造和析构
|
5月前
|
编译器 C++
23 C++ - 多个对象构造和析构
23 C++ - 多个对象构造和析构
24 0
|
9月前
|
存储 编译器 C语言
【C++学习】类和对象 | 类的成员函数存放在哪里?| this指针 | 构造函数 | 析构函数 | 探索构造和析构函数的更多细节
【C++学习】类和对象 | 类的成员函数存放在哪里?| this指针 | 构造函数 | 析构函数 | 探索构造和析构函数的更多细节
149 0

热门文章

最新文章