C++语言程序设计13.doc

上传人:公**** 文档编号:563444135 上传时间:2022-12-04 格式:DOC 页数:4 大小:43.51KB
返回 下载 相关 举报
C++语言程序设计13.doc_第1页
第1页 / 共4页
C++语言程序设计13.doc_第2页
第2页 / 共4页
C++语言程序设计13.doc_第3页
第3页 / 共4页
C++语言程序设计13.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《C++语言程序设计13.doc》由会员分享,可在线阅读,更多相关《C++语言程序设计13.doc(4页珍藏版)》请在金锄头文库上搜索。

1、13章 实例指针(this)“this”是类的实例指针,有一些特殊的用法。 一、参数与成员变量重名成员函数(包括构造函数)的参数与成员变量重名时,如果不特别指定,则使用的是参数。 #include #include using namespace std;class ca string id;public: ca(string id) this-id = id; void setId(string id) this-id = id; void print() cout id: id endl; ;int main ( ) ca a(abc); a.print(); a.setId(xyz);

2、a.print(); return 0;二、判断一个对象是否为自己对象(即实例)可以通过参数传来传去,有时需要判断一下用对象是否与自己是同一实例,可以用“if (&obj = this) . ” #include #include using namespace std;class base public: void check(base *obj) if (obj = this) cout 这是当前的对象 endl; else cout 这不是同一个对象 endl; ;class derive : public base public: base *getBase() base *p = t

3、his; /强制转换成父类的地址 return p; /返回父类地址 ;int main ( ) base ba; derive de; base *p1 = de.getBase(); /取基类地址 base *p2 = &ba; ba.check(p1); ba.check(p2); return 0;三、运算符重载“this”用于返回自身实例,在运算符重载中经常被使用。 #include #include using namespace std;class rect int x1, y1, x2, y2; /矩形座标public: rect() x1 = 0, y1 = 0, x2 =

4、0, y2 = 0; rect(int m1, int n1, int m2, int n2) x1 = m1, y1 = n1, x2 = m2, y2 = n2; void print() cout x1= x1; cout y1= y1; cout x2= x2; cout y2= y2; cout endl; rect operator+() x1+, y1+, x2+, y2+; return *this; /返回当前实例 ;int main ( ) rect r(12, 20, 50, 40); r.print(); rect obj; obj = r+; obj.print(); return 0;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号