求讲解下面代码
#include<iostream>usingnamespacestd;classDog{private:staticintdogs;//静态数据成员,记录Dog的个体数...
#include < iostream >
using namespace std;
class Dog
{
private:
static int dogs;//静态数据成员,记录Dog的个体数目
public :
Dog(){}
void setDogs(int a)
{dogs = a;
}
static int getDogs(){
return dogs;
}
};
int Dog :: dogs = 25;//初始化静态数据成员
void main()
{
cout<<"未定义Dog类对象之前:x = "<< Dog::getDogs() << endl;; //x在产生对象之前即存在,输出25
Dog a, b;
cout<<"a中x:"<< a.getDogs() << endl;
cout<<"b中x:"<< b.getDogs() << endl;
a.setDogs(360);
cout<<"给对象a中的x设置值后:"<< endl;
cout<<"a中x:"<< a.getDogs() << endl;
cout<<"b中x:"<< b.getDogs() << endl;
} 展开
using namespace std;
class Dog
{
private:
static int dogs;//静态数据成员,记录Dog的个体数目
public :
Dog(){}
void setDogs(int a)
{dogs = a;
}
static int getDogs(){
return dogs;
}
};
int Dog :: dogs = 25;//初始化静态数据成员
void main()
{
cout<<"未定义Dog类对象之前:x = "<< Dog::getDogs() << endl;; //x在产生对象之前即存在,输出25
Dog a, b;
cout<<"a中x:"<< a.getDogs() << endl;
cout<<"b中x:"<< b.getDogs() << endl;
a.setDogs(360);
cout<<"给对象a中的x设置值后:"<< endl;
cout<<"a中x:"<< a.getDogs() << endl;
cout<<"b中x:"<< b.getDogs() << endl;
} 展开
2个回答
展开全部
#include <iostream>
using namespace std;
class Dog
{
private:
static int dogs;//静态数据成员,记录Dog的个体数目
public :
Dog() {}
void setDogs(int a)
{
dogs = a;
}
static int getDogs()
{
return dogs;
}
};
int Dog :: dogs = 25;//初始化静态数据成员
int main()
{
cout << "未定义Dog类对象之前:x = " << Dog::getDogs() << endl;; //x在产生对象之前即存在,输出25
Dog a, b;//定义两个类的对象,自动调用构造函数初始化各个成员变量
cout << "a中x:" << a.getDogs() << endl;//调用a的成员函数
cout << "b中x:" << b.getDogs() << endl;//调用b的成员函数
a.setDogs(360);//调用a的成员函数,对static类型变量dogs进行更改
cout << "给对象a中的x设置值后:" << endl;
cout << "a中x:" << a.getDogs() << endl;//更改后的dogs值
cout << "b中x:" << b.getDogs() << endl;//dogs是属于类的变量,也可以说是每个对象的公用变量
}
using namespace std;
class Dog
{
private:
static int dogs;//静态数据成员,记录Dog的个体数目
public :
Dog() {}
void setDogs(int a)
{
dogs = a;
}
static int getDogs()
{
return dogs;
}
};
int Dog :: dogs = 25;//初始化静态数据成员
int main()
{
cout << "未定义Dog类对象之前:x = " << Dog::getDogs() << endl;; //x在产生对象之前即存在,输出25
Dog a, b;//定义两个类的对象,自动调用构造函数初始化各个成员变量
cout << "a中x:" << a.getDogs() << endl;//调用a的成员函数
cout << "b中x:" << b.getDogs() << endl;//调用b的成员函数
a.setDogs(360);//调用a的成员函数,对static类型变量dogs进行更改
cout << "给对象a中的x设置值后:" << endl;
cout << "a中x:" << a.getDogs() << endl;//更改后的dogs值
cout << "b中x:" << b.getDogs() << endl;//dogs是属于类的变量,也可以说是每个对象的公用变量
}
追问
static int dogs;//静态数据成员,记录Dog的个体数目这句作用是什么?加和不加static有什么区别
追答
加了之后,这个变量会成为该类的对象共有的变量.每一个对象对该变量的操作都影响其他对象对该变量的使用.常用于计数.
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询