实验2静态成员和友元.doc
文本预览下载声明
淮海工学院计算机科学系
实验报告书
课程名: 《C++程序设计》
题 目: 静态成员和友元
班 级:
学 号:
姓 名:
实验内容或题目
(1)分析调试教材p310页第2题,并修改程序要求允许对日期对象作如下定义:Date d3(d1);//用已有的日期对构造一个新对象。(2)设计一个点类,其中包括一对坐标数据成员、一个求两点之间距离的友元函数dist和显示坐标点成员函数,并用数据进行测试。(3)p312页9-11题。(4)调试分析教材例9.5的运行结果。
2、实验目的或要求
(1)熟练掌握构造函数和析构函数的功能和使用方法;
(2)掌握友元函数和友元类;
(3)掌握成员函数的重载等特性;
(4)掌握静态成员和静态成员函数的使用方法。
using namespace std;
class Date
{public:
Date(int,int,int);
Date(int,int);
Date(int);
Date();
void display();
private:
int month;
int day;
int year;
};
Date::Date(int m,int d,int y):month(m),day(d),year(y)
{ }
Date::Date(int m,int d):month(m),day(d)
{year=2005;}
Date::Date(int m):month(m)
{day=1;
year=2005;
}
Date::Date()
{month=1;
day=1;
year=2005;
}
void Date::display()
{coutmonth/day/yearendl;}
int main()
{
Date d1(10,13,2005);
Date d2(12,30);
Date d3(d1);
Date d4;
d1.display();
d2.display();
d3.display();
d4.display();
return 0;
}
1.2
#include iostream
using namespace std;
class Date
{
public:
Date(int,int,int);
Date(int,int);
Date(int);
Date();
void display();
private:
int month;
int day;
int year;
};
Date::Date(int m,int d,int y):month(m),day(d),year(y)
{}
Date::Date(int m,int d):month(m),day(d)
{year=2005;}
Date::Date(int m):month(m)
{day=1;year=2005;}
Date::Date()
{
month=1;
day=1;
year=2005;
}
void Date::display()
{coutmonth/day/yearendl;}
int main()
{
Date d1(10,13,2005);
Date d2(12,30);
Date d3(10);
Date d4;
d1.display();
d2.display();
d3.display();
d4.display();
return 0;
}
2
#include iostream
#include cmath
using namespace std;
class Point
{
public:
Point (double xx,double yy)
{X=xx;
Y=yy;}
int getX()
{return X;}
int getY()
{return Y;}
friend float Distance(Point ,Point );
private:
int X,Y;
};
float Distance(Point p1,Point p2)
{
double x=double(p1.X-p2.X);
double y=double(p1.Y-p2.Y);
return (sqrt(x*x+y*y));
显示全部