C++笔记4

类成员可以访问的范围##

类成员可以被访问的范围关键字:####

-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定义类##

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
posted @ 2020-02-01 10:25  AirBirdDD  阅读(99)  评论(0)    收藏  举报