作业帮 > 综合 > 作业

.这个程序如何理解.3Q

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/10/01 23:34:05
.这个程序如何理解.3Q
#include
#include
using namespace std;
class Cat
{
public:
Cat(){++numOfCats;}
Cat(const Cat& cat){++numOfCats;}//这段如何理解
virtual Cat(){--numOfCats;}//这段如何理解
static int getNumOfCats(){return numOfCats;}
private:
static int numOfCats;
};
int Cat::numOfCats=0;
int main()
{
Cat a;
Cat b;
cout
.这个程序如何理解.3Q
Cat(const Cat& cat){++numOfCats;}//这段如何理解

Cat类的拷贝构造函数,每次进行拷贝构造产生Cat的实例时,其静态成员变量numOfCats增加1.

virtual ~Cat(){--numOfCats;}//这段如何理解

虚析构函数(这里没有继承关系,写virtual也没有实际意义).每次Cat类的实例销毁时将静态成员变量numOfCats减1.

Cat* p=new Cat();//这段如何理解

创建一个Cat类的新实例,将该实例的地址传给指针p.

delete p;//这段如何理解

销毁指针p所指向的对象(即销毁new出来的Cat实例).