第3章 关于类对象的进一步讨论.docVIP

  • 137
  • 0
  • 约9.37千字
  • 约 8页
  • 2016-10-16 发布于贵州
  • 举报
第3章 关于类对象的进一步讨论

第3章 关于类和对象的进一步讨论 3.1构造函数 3.1.1对象的初始化 3.1.2构造函数的作用 3.1.3带参数的构造函数 3.1.4用参数初始化表对数据成员初始化 3.1.5构造函数的重载 3.1.6使用默认参数的构造函数 3.2析构函数 3.3调用构造函数和析构函数的顺序 3.4对象数组 3.5对象指针 3.5.1指向对象的指针 3.5.2指向对象成员的指针 1. 指向对象数据成员的指针 2. 指向对象成员函数的指针 3.5.3 this 指针 3.6共用数据的保护 3.6.1常对象 3.6.2常对象成员 1. 常数据成员 2. 常成员函数 3.6.3指向对象的常指针 3.6.4指向常对象的指针变量 3.6.5对象的常引用 3.6.6 const型数据的小结 3.7对象的动态建立和释放 3.8对象的赋值和复制 3.8.1对象的赋值 3.8.2对象的复制 3.9静态成员 3.9.1静态数据成员 3.9.2静态成员函数 3.10友元 3.10.1友元函数 1. 将普通函数声明为友元函数 2. 友元成员函数 3. 一个函数(包括普通函数和成员函数)可以被多个类声明为“朋友”, 3.10.2友元类 3.11类模板 习题 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; 3. 如果将第2题中程序的第5行改为用默认参数,即Date(int=1,int=1,int=2005); 分析程序有无问题。上机编译,分析出错信息,修改程序使之能通过编译。要求保留上面一行给出的构造函数,同时能输出与第2题的程序相同的输出结果。 4. 建立一个对象数组,内放5个学生的数据(学号、成绩),用指针指向数组首元素,输出第1,3,5个学生的数据。 5. 建立一个对象数组,内放5个学生的数据(学号、成绩),设立一个函数max,用指向对象的指针作函数参数,在max函数中找出5个学生中成绩最高者,并输出其学号。 6. 阅读下面程序,分析其执行过程,写出输出结果。#include iostream using namespace std; class Student {public: Student(int n,float s):num(n),score(s){ } void change(int n,float s){num=n;score=s;} void display( ){coutnum″ ″scoreendl;} private: int num; float score; }; int main( ) {Student stud(101,78.5); stud.display( ); stud.change(101,80.5); stud.display( ); return 0; 7. 将第6题的程序分别作以下修改,分析所修改部分的含义以及编译和运行的情况。 (1) 将main函数第2行改为const Student stud(101,78.5);(2) 在(1)的基础上修改程序,使之能正常运行,用change函数修改数据成员num和score的值。 (3) 将main函数改为int main( ) {Student stud(101,78.5); Student *p=stud; p-display( ); p-cha

文档评论(0)

1亿VIP精品文档

相关文档