- 4
- 0
- 约7.42千字
- 约 28页
- 2018-06-09 发布于山西
- 举报
第学时类与对象静态及const成员
自己出题自己做 目的:总结掌握类与对象这个部分的相关语法,培养提高面向对象的分析和设计能力。 梳理 类与对象 部分的语法; 设计15道选择或者填空题,1道写出程序运行结果题目(构造、析构、拷贝构造、static)。 给出上述题目的答案,并总结出题目所考的知识点。 电子版+纸面版(程序结果题可以打印,手写要注意纸面工整)。 * * 请思考: 如果不将average函数定义为静态成员函数行不行?程序能否通过编译?需要作什么修改?为什么要用静态成员函数?请分析其理由。 但是在C++程序中最好养成这样的习惯: 只用静态成员函数引用静态数据成员,而不引用非静态数据成员。这样思路清晰,逻辑清楚,不易出错。 * 不为const数据成员提供成员初始化值是个语法错误。 常量型成员(const对象和const‘变量’)要用成员初始化值的语法初始化,而不能用赋值语句。 例如: class Increment{ public: Increment(int c=0,int I = 1); void print() const; private: int count; const int increment; }; Increment::Increment (int c, int i) :increment(i) { count=c; } Int main() { Increment value(10,5); } * Const成员函数不能修改对象,否则有语法错误。 定义调用同一个类实例的非const成员函数的const成员函数是个语法错误。 构造函数和析构函数声名为const是个语法错误。因为他们要修改对象。初始化,删除清理等。 * const关键词可以参与区分重载函数, 编译器根据对象是否为const自动选择所用的重载版本. * d1对象初始化后将不能在改变了。一个对象被定义成const后,因为const对象是不能被修改的,(const对象不能用赋值语句修改,因此要初始化) 而C++编译器不能判断哪个函数将对数据成员进行修改。因此,一个对象被定义成const以后。则此对象中的所有成员函数都会被禁止。 为了能够使用const对象中不改变数据成员值的成员函数,只要在定义和说明成员函数时,加上const关键字即可。 Const对象的构造函数和析构函数不需要声明为const. This,代表调用这个方法的对象地址,所以,静态成员函数没有this指针。 第二个有问题,因为hour为常成员,必须放在初始化列表 * * 第九讲 静态及const成员 class X { char ch ; static int s; …... }; int X :: s = 0 ; object A , B , C , D ; X B ; char ch ; X C ; char ch ; X D ; char ch ; X A ; char ch ; static int s ; 静态成员 类、对象和内存 对象1 对象2 对象3 数据1 数据2 数据1 数据2 数据1 数据2 静态成员 数据3 函数3 公有成员 函数1 函数2 静态类成员数据 静态数据成员的使用方法如下: 1)静态数据成员的定义与一般数据成员相似,但前面要加上static关键词。 2)静态数据成员的初始化与一般数据成员不同,静态数据成员初始化的格式如下: 类型 类名::静态数据成员=值; 3)在引用静态数据成员时采用格式: 类名::静态数据成员 对象名. 静态数据成员 4)静态成员函数不与某个具体的对象相联系,它是属于类的。 class A {… static int var; //在类的内部声明 … }; int A::var = 1; //在类的外部定义 静态类成员数据 静态和自动成员变量 对象1 对象2 对象3 automatic数据 数据2 数据1 数据2 数据1 数据2 静态数据 数据4 automatic数据 数据1 automatic数据 数据3 //例 静态数据成员的说明和初始化 #includeiostream.h class Counter { static int num ; public : void setnum ( int i ) { num = i ; } vo
您可能关注的文档
最近下载
- 安全个人防护用品使用教程PPT课件.pptx VIP
- 部编人教版三年级下册语文全册教案.docx VIP
- 学前教育学 教案.docx VIP
- 高级英语(第四版)1_教学课件Lesson 2 Blackmail.ppt VIP
- Thompson_Motif-Index(翻译版).doc VIP
- 2025年商汤科技商业计划书.pptx VIP
- 一文读懂2026年中央一号文件PPT关于锚定农业农村现代化+扎实推进乡村全面振兴的意见课件.pptx VIP
- BYD比亚迪交流充电桩ACC01-07G S50-F说明书.pdf
- 郑桂华《安塞腰鼓》课堂实录.docx VIP
- 实验六视图的操作.docx VIP
原创力文档

文档评论(0)