/**
* 书本:【ThinkingInC++】
* 功能:构造函数和析构函数的各种特征
* 时间:2014年8月26日08:50:52
* 作者:cutter_point
*/
/*
构造函数和析构函数是没有返回值的。
析构函数:当对象超出他的作用域的时候,编译器将自动调用析构函数,但析构函数调用的
唯一证据是包含该对象的右括号,而且即使使用goto语句跳转析构函数任然被调用
*/
#include<iostream>
using namespace std;
class Tree
{
int height; //私有成员,这棵树的高度
public:
Tree(int initialHeight); //析构函数给数的高度赋初值
~Tree(); //析构函数,会被自动调用
void grow(int years); //树的高度增加
void printsize(); //输出树的高尺寸
};
//Tree(int initialHeight); //析构函数给数的高度赋初值
Tree::Tree(int initialHeight)
{
height=initialHeight;
}
//~Tree(); //析构函数,会被自动调用
Tree::~Tree()
{
cout<<"inside Tree destructor"<<endl;
void printsize(); //输出树的高尺寸
}
//void grow(int years); //树的高度增加
void Tree::grow(int years)
{
height+=years; //每年增加一
}
//void printsize(); //输出树的高尺寸
void Tree::printsize()
{
cout<<"Tree height is"<<height<<endl;
}
int main()
{
cout<<"before opening brace"<<endl;
{
Tree t(12);
cout<<"after Tree creation"<<endl;
t.printsize();
t.grow(4);
cout<<"before closing brace"<<endl;
}
cout<<"after closing brace"<<endl;
return 0;
}
【ThinkingInC++】33、构造函数和析构函数的各种特征
最新推荐文章于 2023-07-22 14:56:52 发布