.这个程序如何理解.3Q
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/13 18:22: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
#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
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实例).
Cat类的拷贝构造函数,每次进行拷贝构造产生Cat的实例时,其静态成员变量numOfCats增加1.
virtual ~Cat(){--numOfCats;}//这段如何理解
虚析构函数(这里没有继承关系,写virtual也没有实际意义).每次Cat类的实例销毁时将静态成员变量numOfCats减1.
Cat* p=new Cat();//这段如何理解
创建一个Cat类的新实例,将该实例的地址传给指针p.
delete p;//这段如何理解
销毁指针p所指向的对象(即销毁new出来的Cat实例).