首页 > 编程语言 > 详细

C++笔记4

时间:2020-02-01 11:02:34      阅读:63      评论:0      收藏:0      [点我收藏+]

类成员可以访问的范围

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

-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

C++笔记4

原文:https://www.cnblogs.com/AirBirdDD/p/12247095.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!