类和对象的使用分析.ppt

  1. 1、本文档共119页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
类和对象的使用分析

stuMax.txt 例P186 例P187 该例中,如果有couta.mendl;只引用而不更改数据成员的值,则程序可正常运行 拷贝构造函数,只是用已有对象的值给新对象赋值,而不希望原对象被修改,因此其参数是一个常引用(该类对象的常引用) 编写setDate函数修改year month day的值,会出错 对象常指针 结合上页,把默认拷贝构造函数的执行过程讲清楚 copyConstructor.txt #include iostream.h class Coord { public: Coord(int a,int b) { x=a; y=b; cout普通构造函数\n;} Coord(const Coord p) { x=2*p.x;y=2*p.y; cout拷贝构造函数\n;} void print(){ coutx yendl; } private: int x,y; }; Coord fun2( ) { Coord p1(10,30); return p1; // 函数的返回值是对象 } void main() { Coord p2(2,3); fun2(); // 函数执行完成,返回调用者时, } 把count 定义成公有静态,用类名访问,改成私有后,定义公有函数getCount获取其对于私有静态数据成员,能否用类名::公有函数名的形式访问其值呢? 修改student例子,用类名访问私有静态成员count. 练习:studentAverage.txt #include iostream.h class small_cat{ public: small_cat(double w); static void display(small_cat w); static void total_display(); private: double weight; static double total_weight; static double total_number; }; small_cat ::small_cat(double w) { weight=w; total_weight+=w; total_number++; } void small_cat :: display(small_cat w) {cout小猫的重量是w.weightendl; } void small_cat :: total_display() {couttotal_number小猫的重量是; couttotal_weight kg endl; } double small_cat::total_number=0; double small_cat::total_weight=0; int main() { small_cat w1(0.9),w2(0.8),w3(0.7); small_cat::display(w1); small_cat::display(w2); small_cat::display(w3); small_cat::total_display(); return 0; } stuDate.txt stuScore.txt 静态成员函数 定义静态成员函数的格式如下: static 返回类型 静态成员函数名(参数表); 调用公有静态成员函数的一般格式有如下几种: 类名::静态成员函数名(实参表) 对象. 静态成员函数名(实参表) 对象指针-静态成员函数名(实参表) 练习:修改student类,增加sum数据成员记录学生成绩和 增加total和average函数分别完成成绩求和及平均值 说明 一般情况下,静态成员函数主要用来访问全局变量或同类中的静态数据成员。达到对象间数据共享。 因静态成员函数不含this指针,所以,静态成员函数不访问类中的非静态成员。若要访问非静态对象必须通过对象(或对象指针)来访问 静态成员访问非静态数据成员 #include iostream.h class small_cat{ public: small_cat(double w); static void display(small_cat w); static void total_display(); private: double weight; static double total_weight; static double total_number; }; small_cat ::small_cat(double w) {

文档评论(0)

441113422 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档