编程练习4——类

本文详细介绍了C++中类的概念和静态变量的定义、赋值、修改过程,强调了大方向把握和小细节注意事项。通过具体程序实例展示了如何在类中合理使用静态变量,包括初始化、访问和修改的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天上课复习了C++里面类的概念和简单实现,做了一个小练习。

按照老师讲的,前面基本都没有出现问题,只是到了后来的静态变量的定义、赋值和修改出现了问题,经过不断试验,才正确调出了程序。。。

细节问题一定要注意,比如:定义static变量为私有,提供公开接口函数访问、修改静态变量。但是初始化只需要在类体外不加static进行赋值即可。

而公有的接口函数则需要在类体内声明,类外实现。声明时用static int get_count(); 类外定义则不需要写static,要直接写反值类型: int date::get_count(){return count;}。

总之就是要把握大方向,然后注意小细节。


具体程序如下:

#include<iostream>


using std::cout;
using std::endl;


//struct date {
class date {
int d,m,y;
// static date default;
static int count;
public:
date();
date(int,int,int);
date(int,int);
// static int count;


/* void init(date& dt,int dd,int mm,int yy)
{ dt.d=dd;
dt.m=mm;
dt.y=yy;
}


void init(date& dt,int dd,int mm,int yy);
*/


int getDay(date& dt){return dt.d;}
int getMonth(date& dt){return dt.m;}
int getYear(date& dt){return dt.y;}
void setDay(date& dt,int dd){dt.d=dd;}
void setMOnth(date& dt,int mm){dt.m=mm;}
void setYear(date& dt,int yy){dt.y=yy;}
// static void set_default(int,int,int);
// static void set_count();
static void inc(){count++;}
static int get_count();
};
int date::count=0;

// static void date::set_count(){count=0;}
int date::get_count(){return count;}


/* void date::init(date& dt,int dd,int mm,int yy )
{      dt.d=dd;
                dt.m=mm;
                dt.y=yy;
        }
*/


date::date(){d=5;m=11;y=2000;inc();}
date::date(int d1,int m1){d=d1;m=m1;y=2022;inc();}
date::date(int d2,int m2,int y2){d=d2;m=m2;y=y2;inc();}



int main()
{ //date today=date(7,24,1989);
date today(7,24,1989);
// today.init(today,5,11,2012);
// today.setYear(today,2002);
cout<<today.getYear(today)<<endl;


cout<<date::get_count()<<endl;
date oo(1,1,2012);
date tt(1,2);
date ff;
cout<<date::get_count()<<endl;
return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值