C++指针、引用传参操作对象----测试

来源:互联网 发布:百度seo稳定 编辑:程序博客网 时间:2024/06/10 02:26
#include <iostream>using namespace std;class HelloWorld{public :void printMsg(){cout << msg << endl;}void setMsg(string msg){this->msg = msg;}private:string msg;};void printNum(HelloWorld);void printNum1(HelloWorld &);void printNum2(HelloWorld *);int main() {HelloWorld hello;hello.setMsg("begin");printNum(hello);hello.printMsg();      //beginprintNum1(hello);hello.printMsg();      //from printNum1printNum2(&hello);hello.printMsg();      //from printNum2 }void printNum(HelloWorld x){x.setMsg("from printNum");}void printNum1(HelloWorld &x){x.setMsg("from printNum1");}void printNum2(HelloWorld *x){x->setMsg("from printNum2");}









指针与引用的区别:

指针:是存放变量地址的一个变量,它可以被改变,包括  其所指向的地址 的改变和 其指向的地址中 所存放的数据的改变。

    操作p时,是p的值,p值是存储的实参的内存地址整数,改变p并未改变实参的值。操作*p时是指向的内存地址,改变*p会影响实参的值。

引用:引用是一个别名,它的存在具有依附性,是对实参的引用。对形参的操作,会改变实参。














0 0
原创粉丝点击