首页 > 其他 > 详细

类的封装和访问控制

时间:2015-08-17 23:42:11      阅读:218      评论:0      收藏:0      [点我收藏+]
#include <iostream>
#define pi 3.14
using namespace std;

class myCircle {
//	修饰的属性和方法只能在类的内部访问,不能在类的外部访问
private:
	int m_r;
	double m_s;

//	修饰的属性和方法可以在类的内部访问,也可以在类的外部访问
public:
	int getR(){
		return m_r;
	}
	void setR(int r){
		m_r = r;
	}
	double getS(){
		return m_s;
	}
	void setS(){
		m_s = pi*m_r*m_r;
	}

//	修饰的属性和方法只能在类的内部访问,不能再类的外部访问
protected:
};

//类的指针做函数参数
void printCircle01(myCircle *myC){
	myC->setS();
	cout<<myC->getS()<<endl;
}

//类的引用做函数参数
void printCircle02(myCircle &myC){
	myC.setS();
	cout<<myC.getS()<<endl;
}

//类的普通变量做函数参数
void printCircle03(myCircle myC){
}

int main(){
	//定义类的变量
	myCircle c1,c2,c3;

//	c1.m_r = 20;	//因为m_r时私有属性,所以在外部不能访问
	c1.setR(10);	//可以在外部通过公有setR()方法来访问内部私有属性m_r
	c1.setS();
	cout<<c1.getS()<<endl;
	c2.setR(5);
	//当形参为指针时,实参必须要加&
	printCircle01(&c2);
	c3.setR(10);
	//当形参为引用时,实参必须为变量本身
	printCircle02(c3);
	return 0;
}

类的封装和访问控制

原文:http://blog.csdn.net/my_wade/article/details/47733551

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