您的位置:首页 > 编程语言 > C语言/C++

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

2017-02-22 07:17 211 查看
#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();      //begin

printNum1(hello);
hello.printMsg();      //from printNum1

printNum2(&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会影响实参的值。

引用:引用是一个别名,它的存在具有依附性,是对实参的引用。对形参的操作,会改变实参。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: