C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.

Slides:



Advertisements
Similar presentations
移动应用软件开发技术 第二讲:C++编程基础
Advertisements

人 工 智 慧 報 告 五子棋AI設計 報告者 : 潘輝銘.
四資二甲 第三週作業 物件導向程式設計.
第九讲 类与对象 (I)面向对象基础.
第4章 数组 数组是由一定数目的同类元素顺序排列而成的结构类型数据 一个数组在内存占有一片连续的存储区域 数组名是存储空间的首地址
7.2 访问控制 —— 公有继承 公有继承练习 //Point.h #ifndef _POINT_H #define _POINT_H class Point { //基类Point类的定义 public: //公有函数成员 void initPoint(float x = 0, float.
第14章 c++中的代码重用.
第八章 类和对象.
C++语言程序设计 第四章 类与对象 成都信息工程学院计算机系.
EBNF 请用扩展的 BNF 描述 C语言里语句的结构; 请用扩展的 BNF 描述 C++语言里类声明的结构;
教材 《C++程序设计》.谭浩强. 清华大学出版社 王雪晶
第3章 继承和派生.
C++语言程序设计 C++语言程序设计 第四章 数组及自定义数据类型 C++语言程序设计.
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
C#程序设计基础 $3 成员、变量和常量.
Object-Oriented Programming in C++ 第一章 C++的初步知识
授课老师:龚涛 信息科学与技术学院 2018年4月 教材:《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
辅导课程六.
第9章 类和对象(一) 9.1 面向对象的基本概念 9.2 类与对象的声明和定义 9.3 成员函数 9.4 对象的访问 9.5 对象的存储.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
谭浩强 编著 中国高等院校计算机基础教育课程体系规划教材 C++程序设计.
切換Dev c++顯示語言 工具->環境選項(V)->介面->language (Chinese TW)
第七章 操作符重载 胡昊 南京大学计算机系软件所.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
C++面向对象程序设计 谭浩强编著 授课教师:姬广永 QQ: 学习网站:
C++大学基础教程 第11章 多态性 北京科技大学 信息基础科学系 2019/4/8 北京科技大学.
第二章 基本数据类型及运算 C数据类型概述 基本数据类型 运算符和表达式 混合运算与类型转换 数据的输入输出 顺序程序设计举例.
C++语言程序设计 C++语言程序设计 第五章 函数 第十一组 C++语言程序设计.
内容 构造函数 析构函数 对象数组 对象指针 this指针 const数据保护. 类和对象的使用 潘荣江 山东大学.
第14讲 运算符重载 运算符重载的概念、方法和规则 运算符重载作为类的成员函数 运算符重载作为类的友元函数 特殊运算符的重载 类型转换函数.
C#面向对象程序设计 $6 深入理解类.
C#程序设计基础 $3 成员、变量和常量.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
C++语言程序设计 第四章 类与对象.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第三章 控制语句 第十一组 C++语言程序设计.
第10讲 构造函数和析构函数 构造函数 析构函数 This 指针.
C++复习2----类与对象.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
物件導向程式設計 CH2.
授课老师:龚涛 信息科学与技术学院 2016年3月 教材:《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第八章 继承 C++语言程序设计.
C++程式設計入門 變數與運算子 作者:黃建庭.
C++大学基础教程 第10章 运算符重载 北京科技大学 2019/5/7 北京科技大学.
C++语言程序设计 C++语言程序设计 第十章 多态 第十一组 C++语言程序设计.
Chapter 18 使用GRASP的对象设计示例.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
授课老师:龚涛 信息科学与技术学院 2016年3月 教材:《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
#include <iostream.h>
C++语言程序设计 C++语言程序设计 第八章 继承 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第十一章 异常处理 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第十章 多态 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第八章 继承 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
第三章 高级函数特性.
第4讲 类和对象、异常处理 ggao.
C++语言程序设计 C++语言程序设计 第十章 多态 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第十一章 异常处理 C++语言程序设计.
C++语言程序设计(第4版) 第七章 继承与派生 数学与统计科学学院 胡凤珠.
資料!你家住哪裏? --談指標 綠園.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
其解亦可表为向量形式.
資料結構與C++程式設計進階 C++與資料結構 講師:林業峻 CSIE, NTU 7/ 5, 2010.
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
Presentation transcript:

C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计

基本知识 a C++语言程序设计

9.2 常对象和常成员 常对象 定义对象时用const进行修饰,称为常对象 声明的语法形式:类名 const 对象名 常对象的数据成员值在对象的整个生存期间内不能被改变 常对象在定义时必须进行初始化且不能被更新 C++语法规定:常对象只能调用常成员函数,以保证常对象的数据成员不被修改 例如: class Point { public: Point(int i,int j){x=i;y=j;} //… private: int x,y; }; //a是常对象,不能被更新 Point const a(3,4); C++语言程序设计

9.2 常对象和常成员 常成员函数 常成员函数具有以下特点: 类成员函数使用const关键字修饰,称为常成员函数 const是函数类型的一个组成部分,在函数实现时也要带const关键字 常成员函数不能更新对象的数据成员,也不能调用该类中的非常成员函数 常对象只能调用常成员函数,但是常成员函数可以被普通对象调用 const关键字可被用于参与对重载函数的区分 例如:在类中这样声明是对print函数的有效重载 void print(); void print() const; C++语言程序设计

9.2 常对象和常成员 例:常成员函数和常对象示例 C++语言程序设计 //常成员函数和常对象示例 #include <iostream> using namespace std; class R { public: R(int r1, int r2){R1=r1;R2=r2;} void change(int, int); void print() const; private: int R1,R2; }; void R::change(int a, int b){ R1=a; R2=b; } void R::print() const{ cout<<R1<<";"<<R2<<endl; void main(){ R a(5,4); a.print(); //也调用void print() const const R b(20,52); b.print(); //调用void print() const C++语言程序设计

9.2 常对象和常成员 常数据成员 使用const说明的数据成员称为常数据成员 常数据成员一经初始化就不能再被改变 提示:其实对于对象而言,实例数据成员为常量几乎没有意义,所以通常把常数据成员定义为静态数据,使其成为类的一个常量 常数据成员 使用const说明的数据成员称为常数据成员 常数据成员一经初始化就不能再被改变 构造函数对常数据成员进行初始化,只能通过初始化列表 初始化列表 在构造函数的函数头后面,用“:”连接的一组参数表 类名::类名(参数表) : 初始化列表 { //函数体 } 初始化列表的形式为:成员名1(初始值), 成员名2(初始值), … C++语言程序设计

9.2 常对象和常成员 例:常数据成员使用示例 C++语言程序设计 //常数据成员示例 //静态常数据成员在类外说明和初始化 #include <iostream> using namespace std; class Circle { public: Circle(int r, int i); void print(); private: int radius; const int a; //静态常数据成员 static const float PI; }; //静态常数据成员在类外说明和初始化 const float Circle::PI = 3.14159; //常数据成员只能通过初始化列表来获得初值 Circle::Circle(int r, int i):a(i),radius(r) {/*因为a是常数据成员,不能把语句a=i;写在构造函数体内*/ }//普通成员也可以在初始化列表中赋值 void Circle::print() { cout<<"a="<<a <<" radius="<<radius<<", area=" <<radius*radius*PI<<endl; } C++语言程序设计

9.2 常对象和常成员 例:常数据成员使用示例 C++语言程序设计 void main() /*建立对象x,并以100和0作为初值调用构造函数, 通过构造函数的初始化列表给对象的常数据成员赋初值*/ { Circle x(100,0); x.print(); } C++语言程序设计