首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

问个c++有关问题

2012-04-05 
问个c++问题文件Person.h#ifndef PERSON#define PERSON#include stringusing namespace std#endifclass

问个c++问题
文件Person.h
#ifndef PERSON
#define PERSON
#include <string>

using namespace std;
#endif

class CPeron 
{
public:
CPeron(string strName, string strAddress);
string GetName() const;
string GetAddress() const;
CPeron SetPerson(string strName, string strAddress);
protected:
private:
string name;
string address;
};

文件Person.cpp
#include "Person.h"
#include <iostream>

CPeron::CPeron(string strName, string strAddress)  
{
name = strName; //1 
address = strAddress; //2
}

string CPeron::GetName() const
{
return name;
}

string CPeron::GetAddress() const
{
return address;
}

CPeron CPeron::SetPerson(string strName, string strAddress)
{
name = strName; //3
address = strAddress; //4
return *this;
}

int main()
{
CPeron a("pete","centural");
string aName = "", aAddress = "";
aName = a.GetName();
aAddress = a.GetAddress();
cout << aName << endl << aAddress << endl;
a.SetPerson("alex", "middle");
aName = a.GetName();
aAddress = a.GetAddress();
cout << aName << endl << aAddress << endl;
return 0; 
}

我想问私有变量在类中是不是相当于全局变量,还是别的什么原因?因为在1、2、3、4这四个位置都不用传引用就可以改变成员变量的值了。

[解决办法]
类的成员函数可以直接访问类的私有数据成员
[解决办法]
类的非静态方法可以访问类内部所有成员.所以不管你是private protected public 成员都可以访问的

Object *ClassName::GetValue(....) const //在这个函数体内部,你不能修改你的成员的值.


[解决办法]
类的成员变量,在类内是可见的,也就是说,只要在类内部,不管它是什么访问权限都是可以被你访问的
[解决办法]
私有变量 跟全局变量是完全不同的概念
LZ先google下这两者的概念吧

另外,在类内部,可以访问类的所有成员。

热点排行