-private:私有成员,只能在成员函数内访问
-public:共有成员,可以在任何地方访问
-protected:保护成员,现阶段暂未要求
·定义一个类
class classname{
private:
私有属性和函数
public:
公有属性和函数
protected:
保护属性和函数
};
如若某个成员前面没有上述的关键字,则缺省的认为是私有成员
exp.
class Man{
int nAge;//私有成员
char szName[20];//私有成员
public:
void SetName(char * szName){
strcpy(Man::szName,szName);
}
};
隐藏的目的是如果以后成员变量的类型等属性更改后,只需更改成员函数即可,倒也是省下了不少功夫,不然还要修改所有直接访问成员变量的语句。
struct CEmployee{
char szName[30];//共有
public:
int salary;
void setName(char * name);
void getName(char * name);
void averageSalary(CEmployee e1,CEmployee e2);
};
和用class的唯一区别就是未说明是公有还是私有的成员,就是公有
exp.
void Location::init(int X,int Y)
{
x=X;
y=Y;
}
int main(){
Location A,B;
A.init(5);
A.valueX(5);
cout<<A.valueX();
return 0;
}
输出是 :5
使用缺省函数要注意避免有函数重载时的二义性
exp.
class Location{
private:
int x,y;
public:
void init(int x=0,int y=0);
void valueX(int val=0){x=val;}
int valueX(){return x;}
};
Location A;
A.valueX();//错误,编译器无法判断调用哪一个valueX
原文:https://www.cnblogs.com/AirBirdDD/p/12247095.html