C++之 class 的三种访问修饰符( public、private、protected )
类的语法定义形式:class B{public://公有成员private://私有成员protected://受保护成员}:公有(public)成员:在程序类的外部可以访问#include<iostream>using namespace std;class area{public://公...
·
类的语法定义形式:
class B
{
public: //公有成员
private: //私有成员
protected: //受保护成员
}:
公有(public)成员:在程序类的外部可以访问
#include<iostream>
using namespace std;
class area
{
public: //公有成员,外部可以访问
double breadth;
double length;
};
int main()
{
area area1;
area area2;
double AREA;
area1.breadth=3.45; //通过.进行访问
area1.length=3.1;
area2.breadth=2.4;
area2.length=5.0;
AREA=area1.breadth*area1.length;
cout << AREA <<endl;
AREA=area2.breadth*area2.length;
cout << AREA <<endl;
return 0;
}
私有(private)成员:类的外部是不可访问的,只有类和友元函数可以访问私有成员
#include<iostream>
using namespace std;
class Box
{
public:
double length;
void setwidth(double wid);
double getwidth(void);
private:
double width;
};
//成员函数定义
double Box::getwidth(void)
{
return width;
}
void Box::setwidth(double wid)
{
width =wid;
}
//程序的主函数
int main()
{
Box box;
//不使用成员函数设置长度
box.length=10.0;
cout << "Length of box :" << box.length << endl;
//不使用成员函数设置宽度
//box.width=10.0; //Error:因为width是私有的
box.setwidth(10.0); //使用成员函数设置宽度
cout << "width of box :" << box.getwidth() << endl;
return 0;
}
受保护(protected)成员: 保护成员在派生类(即子类)中是可访问的
#include<iostream>
using namespace std;
class Box
{
protected:
double width;
} ;
class SmallBox:Box //smallBox 是派生类
{
public:
void setSmallwidth(double wid);
double getSmallwidth(void);
};
//子类的成员函数
double SmallBox::getSmallwidth(void)
{
return width;
}
void SmallBox::setSmallwidth(double wid)
{
width=wid;
}
//程序的主函数
int main()
{
SmallBox box;
//使用成员函数设置宽度
box.setSmallwidth(5.0);
cout << "width of box :" << box.getSmallwidth() <<endl;
return 0;
}
成员和类的默认访问修饰符是 private
更多推荐
已为社区贡献2条内容
所有评论(0)