1 / 36
文档名称:

C 实验报告1.doc

格式:doc   大小:3,153KB   页数:36页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C 实验报告1.doc

上传人:lu2yuwb 2021/8/21 文件大小:3.08 MB

下载得到文件列表

C 实验报告1.doc

相关文档

文档介绍

文档介绍:C++实验报告1
D
{
month = m ;
day = d ;
year = y ;
}
int IsLeapYear()
{
return (year%4 == 0 && year%100 != 0)||(year%400 == 0);
}
public :
void Print()
{ cout<<month<< "/" <<day<< "/" <<year<<endl; }
private :
int month; int day; int year;
};  
void main()
{
CDate a; ----------------------------------------------------- ①
(10,15,2007) ;
();
}
问题一:以上程序编译能通过吗,为什么,应该如何改正?
答:不能。因为没有定义构造函数,并且没有声明私有成员。
修改后的程序代码为:
#include <>
class CDate
{ private:
int month,day,year;
public :
void Set( int m, int d, int y )
{
month = m ;
day = d ;
year = y ;
}
int IsLeapYear()
{
return (year%4 == 0 && year%100 != 0)||(year%400 == 0);
}
void Print()
{ cout<<month<< "/" <<day<< "/" <<year<<endl; }
private :
int month; int day; int year;
};
void main()
{
CDate a;
(10,15,2007) ;
();
}
问题二:类 CDate 中分别有哪些成员函数和成员变量,它们分别属于哪种访问权限?
答:成员变量为:month、day、year. 成员函数有:void Set( int m, int d, int y )
、int IsLeapYear()、void Print()
问题三:①处语句的意思是什么?
答: 定义一个省略参数的类。
2 .理解下面的程序,回答后面的问题,并在 下运行查看结果。
#include <>  
int month; // 全局变量
int day;
int year;
void Set( int m, int d, int y) ---------------------------------------------- a
{
::month=m; ----------------------------------------------------- ①
::day=d;
::year=y;
}
class CDate
{
public :
void Set( int m, int d, int y) ------------------------------------------------ b
{
::Set(m,d,y); ----------------------------------------------------- ②
}
void Print()
{ cout<<month<< "/" <<day<< "/" <<year<<endl; }
private :
int month; // 成员变量
int day;
int year;
};  
void main()
{
CDate a;
(10,15,2007) ;
(); }
问题一:①处是在给成员变量赋值,还是在给全局变量赋值,如果去掉域作用符 :: ,程序是否还能正确运行?
答:①处是在给局部变量赋值。去掉::后不能正确运行。
问题二:②处调用的哪个函数,如果去掉域作用符 :: ,程序是否还能正确运行?
答:②处调用的是a处的函数。去掉::仍然不能正确运行。
问题三:该程序的输出结果是什么,试解释该输出结果。
答:原因在于该类没有定义私有成员变量。

最近更新