.这个程序如何理解.3Q#include #include using namespace std;class Cat{public:Cat(){++numOfCats;}Cat(const Cat& cat){++numOfCats;}//这段如何理解virtual Cat(){--numOfCats;}//这段如何理解static int getNumOfCats(){return numOfCats;}priv

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/26 01:26:24
.这个程序如何理解.3Q#include #include using namespace std;class Cat{public:Cat(){++numOfCats;}Cat(const Cat& cat){++numOfCats;}//这段如何理解virtual Cat(){--numOfCats;}//这段如何理解static int getNumOfCats(){return numOfCats;}priv
xSn@*UICUw@tߪ`Y2r*PLI *!@JGx*б ƾws93a{l_2ys`U vK J~ȼ D&r@+0 10+)Ig$\YͮJ+ȱwew/~l0/ː< xM>IkJF~)oǓȽ=/}N6 [eY;1Nj8/m׹W^2Q 5rѻ3W١?BQxVI3-#R"`o]Z?긑s&nA7;:ֲGv,vra.OW!rVwq~hO}nw'=o6jQ%l(Qqqi=7 1dOhpv

.这个程序如何理解.3Q#include #include using namespace std;class Cat{public:Cat(){++numOfCats;}Cat(const Cat& cat){++numOfCats;}//这段如何理解virtual Cat(){--numOfCats;}//这段如何理解static int getNumOfCats(){return numOfCats;}priv
.这个程序如何理解.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#include #include using namespace std;class Cat{public:Cat(){++numOfCats;}Cat(const Cat& cat){++numOfCats;}//这段如何理解virtual Cat(){--numOfCats;}//这段如何理解static int getNumOfCats(){return numOfCats;}priv
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实例).