.这个程序如何理解.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/15 01:54:26
.这个程序如何理解.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实例).