早教吧作业答案频道 -->其他-->
关于类的定义中的初始化classDate{public:Date();voidinput();voidadd();voidminus();voidoutput();private:intyear,mouth,date;intday[13]={31,31,28,31,30,31,30,31,31,30,31,30,31};};这是我定义的一个类,其中intday[13]={31,31,28,
题目详情
关于类的定义中的初始化
class Date
{
public:
Date();
void input();
void add();
void minus();
void output();
private:
int year,mouth,date;
int day[13] ={31,31,28,31,30,31,30,31,31,30,31,30,31};
};
这是我定义的一个类,其中int day[13] ={31,31,28,31,30,31,30,31,31,30,31,30,31};
这句话,我在类中直接初始化数组:day[13].这样行不行呀.但若行的话,我的下面这个程序为什么总是报错呀?
程序如下:::
# include "iostream.h"
class Date
{
public:
Date();
void input();
void add();
void minus();
void output();
private:
int year,mouth,date;
int day[13] ={31,31,28,31,30,31,30,31,31,30,31,30,31};
};
Date::Date()
{
year = 0;
mouth = 0;
date = 0;
}
void Date::input()
{
coutyear>>mouth>>date;
}
void Date::output()
{
cout
class Date
{
public:
Date();
void input();
void add();
void minus();
void output();
private:
int year,mouth,date;
int day[13] ={31,31,28,31,30,31,30,31,31,30,31,30,31};
};
这是我定义的一个类,其中int day[13] ={31,31,28,31,30,31,30,31,31,30,31,30,31};
这句话,我在类中直接初始化数组:day[13].这样行不行呀.但若行的话,我的下面这个程序为什么总是报错呀?
程序如下:::
# include "iostream.h"
class Date
{
public:
Date();
void input();
void add();
void minus();
void output();
private:
int year,mouth,date;
int day[13] ={31,31,28,31,30,31,30,31,31,30,31,30,31};
};
Date::Date()
{
year = 0;
mouth = 0;
date = 0;
}
void Date::input()
{
coutyear>>mouth>>date;
}
void Date::output()
{
cout
▼优质解答
答案和解析
定义类只是定义了一种类型,在类中是不能对变量进行初始化的
只有类的实例才可以对变量做初始化操作
在类体内用static定义
static int day[13] ={31,31,28,31,30,31,30,31,31,30,31,30,31};
报错吗?
那你就把它定义成全局变量吧,既然是一个月的天数,当然是不能被修改的了!完全可以用const限定,至于闰年与非闰年二月的天数不同,这个不用担心
把你的一维数组改成二维数组,如下
int day[2][31]={{0,31,28,31,30,31,30,31,31,30,31,30,31},
{1,31,29,31,30,31,30,31,31,30,31,30,31}};
现在才看到,你那个怎么那样定义啊?
int day[13] ={31,31,28,31,30,31,30,31,31,30,31,30,31};
这个一维数组只为了表示某一个月的天数吗?
想了解更多关于static的话链接下面这个地址
【原创答人】
只有类的实例才可以对变量做初始化操作
在类体内用static定义
static int day[13] ={31,31,28,31,30,31,30,31,31,30,31,30,31};
报错吗?
那你就把它定义成全局变量吧,既然是一个月的天数,当然是不能被修改的了!完全可以用const限定,至于闰年与非闰年二月的天数不同,这个不用担心
把你的一维数组改成二维数组,如下
int day[2][31]={{0,31,28,31,30,31,30,31,31,30,31,30,31},
{1,31,29,31,30,31,30,31,31,30,31,30,31}};
现在才看到,你那个怎么那样定义啊?
int day[13] ={31,31,28,31,30,31,30,31,31,30,31,30,31};
这个一维数组只为了表示某一个月的天数吗?
想了解更多关于static的话链接下面这个地址
【原创答人】
看了关于类的定义中的初始化clas...的网友还看了以下:
帮我看看这几句英文写的对不对althought private car in modern soc 2020-05-16 …
跪求Java编程实现一个复数类Complex,要求其实部和虚部用private的成员变量表达(1) 2020-07-17 …
ubuntu10.04安装qt-x11-opensource-src-4.4.规求解决方案Infi 2020-07-23 …
对如下基类和派生类的声明,指出下列每个例子的错误(6分)classBase{voidfoo(int 2020-08-04 …
关于类的定义中的初始化classDate{public:Date();voidinput();voi 2020-10-30 …
再教我一道吧!在过程中可以用语句定义变量。A.Dim、PrivateB.Dim、StaticC.Di 2020-11-01 …
英语大仙们帮帮小弟,下面5个题选同义词,是在不确定,31.Hehasaverystrangepoin 2020-11-01 …
关于继承和派生,下列描述错误的是A公有继承时,基类中的public成员在派生类中仍然是public的 2020-11-22 …
下面描述中,表达错误的是()3分A.私有继承时基类中的public成员在派生类中是private的B 2020-11-22 …
有以下程序:#includeclassDate;classTime{public:Time(int, 2020-12-18 …