首页 > 试题广场 >

按下列要求编程。 (1)编写一个类,声明一个数据成员和

[问答题]
按下列要求编程。
(1)编写一个类,声明一个数据成员和一个整型静态数据成员。让构造函数初始化数据成员,并把静态数据成员加1。让析构函数把静态数据成员減1。(2)编写一个 main 函数,创建三个对象,然后显示它们的数据成员和静态数据成员, 再析构每个对象, 并显示它们对静态数据成员的影响。
(3)修改程序, 让静态数据成员为私有的,让静态成员函数去访间静态数据成员。

推荐
(1),(2)
//-----------------------------------
//EX0808_1.cpp
//静态成员
//-----------------------------------
#include<iostream>
using namespace std;
//-----------------------------------
class A{
public:
  int x;
  static int y;
  A(){ x=1; cout<<x<<" "<<y++<<"\n"; }
 ~A(){ cout<<x<<" "<<--y<<"\n"; }
};//---------------------------------
int A::y=1;
//-----------------------------------
int main() {  // 第二小题
  A a,b,c;
  cout<<a.x<<" "<<A::y<<"\n";
}//----------------------------------
(3)
//-----------------------------------
//EX0808_2.cpp
//私有静态成员
//-----------------------------------
#include<iostream>
using namespace std;
//-----------------------------------
class A{
  int x;
  static int y;
public:
  A():x(1){ cout<<x<<" "<<y++<<"\n"; }
 ~A(){ cout<<x<<" "<<--y<<"\n"; }
  int getX(){ return x; }
  static int getY(){ return y; }
};//---------------------------------
int A::y=1;
//-----------------------------------
int main() {
  A a,b,c;
  cout<<a.getX()<<" "<<A::getY()<<"\n";
}//----------------------------------



发表于 2018-05-07 21:13:21 回复(0)
#include<iostream>
using namespace std;
class student
{
private:
int num;
static float age;
public:
static void print();
student(int n)
{
num=n;
age+=1;
}
~sstudent()
{
cout<<"destutor"<<endl;
age-=1;
cout<<age<<endl;
}
void show()
{
cout<<num<<" "<<age<<endl;
}
};
float student::age=3.4;
void print()
{
cout<<age<<endl;
}
int main()
{
student s1,s2,s3;
s1(2),s2(4),s3(5);
s1.show();
s2.show();
s3.show();
}





发表于 2020-03-26 22:39:09 回复(0)