.这个程序如何理解.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/05/10 19:55:21
.这个程序如何理解.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;}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实例).