C++面向对象程序设计实验指导书 实验一
赋值给b,b的内容赋值给c,c的内容赋值给a,要求采用引用的方式来实现。 #include
void exchange(float &x, float &y, float &z) { float temp = x; x=z; z=y; y = temp; }
int main() { float a= 5; float b = 10; float c=15; cout<<\ exchange(a,b,c); cout<<\return 1; }
1.3 思考题
1.自己设计一个程序,测试const的三种用法:指向常量的指针,常指针,指向常量的常指针。
2.编写一个函数,实现两个字符串变量的交换,要求参数用引用。
7
C++面向对象程序设计实验指导书 实验二
实验二 类和对象—类的构建
2.1 实验目的
1.类的定义; 2.类对象的使用;
3.类成员变量的定义和使用; 4.类成员函数的定义和使用; 5.理解类的作用域; 6.理解类的声明;
7.理解类中private和public权限的声明依据。
2.2 实验内容 2.2.1程序阅读
1.理解下面的程序,并在VC++6.0下运行查看结果,回答程序后面的问题。
#include
class CDate {
void Set(int m, int d, int y ) { month = m ; day = d ; year = y ; }
int IsLeapYear() { return (year%4 == 0 && year0 != 0)||(year@0 == 0); } public:
void Print() { cout< int month; int day; int year; }; 8 C++面向对象程序设计实验指导书 实验二 void main() { CDate a; -----------------------------------------------------① a.Set(10,15,2007) ; a.Print(); } 问题一:以上程序编译能通过吗,为什么,应该如何改正? 问题二:类CDate中分别有哪些成员函数和成员变量,它们分别属于哪种访问权限? 问题三:①处语句的意思是什么? 2.理解下面的程序,并在VC++6.0下运行查看结果,回答程序后面的问题。 #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< int month; //成员变量 int day; int year; }; void main() { CDate a; a.Set(10,15,2007) ; a.Print(); 9 C++面向对象程序设计实验指导书 实验二 } 问题一:①处是在给成员变量赋值,还是在给全局变量赋值,如果去掉域作用符::,程序是否还能正确运行? 问题二:②处调用的哪个函数,如果去掉域作用符::,程序是否还能正确运行? 问题三:该程序的输出结果是什么,试解释该输出结果。 2.2.2 程序设计 1.试设计一个复数类,该类有实部和虚部两个成员数据,成员数据采用私有访问权限,同时该类有两个共有成员函数,分别用来设置成员数据和输出成员数据,在主函数中分别采用对象方式,指针方式和引用方式来调用该类的公有函数设置和输出成员数据。 2.3思考题 1.试指出以下程序的错误,并改正之。 #include class CPoint { public: unsigned x, unsigned y; bool IsInCircle(CCircle *Circle) { return (((x-Circle->Center.x)*(x-Circle->Center.x) +(y-Circle->Center.y)*(y-Circle->Center.y))<=Circle->Radius*Circle->Radius); } }; class CCircle { public: unsigned Radius; CPoint Center; }; void main() { } 10 C++面向对象程序设计实验指导书 实验三 实验三 类和对象—构造函数与析构函数 3.1 实验目的 1.理解掌握this指针的作用和用法; 2.理解掌握构造函数的定义和作用; 3.掌握构造函数的使用; 4.理解掌握拷贝构造函数的定义和使用; 5.理解掌握构造函数的重载; 6.理解掌握析构函数的定义和使用。 3.2 实验内容 3.2.1程序阅读 1.理解下面的程序,并在VC++6.0下运行查看结果,回答程序后面的问题。 #include class CPoint { public: void Set(int x,int y); void Print(); private: int x; int y; }; void CPoint::Set(int x,int y) { x = x; y = y; } void CPoint::Print() { cout<<\< void main() 11 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C++面向对象程序设计实验指导书[1](3)在线全文阅读。
相关推荐: