SDUT 2675 - 【3-6 静态数据成员与静态成员函数】

9 篇文章 0 订阅

Problem Description

通过本题目的练习可以掌握静态数据成员和静态成员函数的用法
要求设计一个点类Point,它具有两个double型的数据成员x,y。和一个静态数据成员count ,用以记录系统中创建点对象的数目。为该类设计构造函数和析构函数,在其中对count的值做修改,体现点的数目的动态变化。并为其添加一个静态成员函数用以输出count的值;成员函数showPoint()用于输出点的信息。
并编写主函数,输出以下的内容。

Input

Example Input

Example Output

x=0,Y=0
the number of points is 3
Deconstructor point x=5
Deconstructor point x=3
Deconstructor point x=0

静态数据成员:为整个类所共有,不属于任何一个具体对象
静态成员函数:可以直接访问该类的静态数据和函数成员。而访问非静态成员,必须通过对象名。静态成员函数可以通过类名或对象名来调用。而非静态成员函数只能通过对象名来调用。

#include<bits/stdc++.h>
using namespace std;
class Point
{
public:
    Point(double n = 0, double m = 0) {
        x = n, y = m, Count++;
    }
    ~Point(){
        cout << "Deconstructor point x=" << x << endl;
    }
    static void showCount();//静态成员函数,可以直接访问该类静态数据和函数成员
    void showPoint();
private:
    static int Count;//静态数据成员声明,用于记录点的个数
    double x, y;
};
int Point::Count = 0;//静态数据成员定义和初始化,使用类名限定
void Point::showCount()
{
    cout << "the number of points is " << Count << endl;
}
void Point::showPoint()
{
    cout << "x=" << x << ',' << "Y=" << y << endl;
}
int main()
{
    Point a(0), b(3), c(5);
    a.showPoint();
    Point::showCount();

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值