类的封装和访问控制

#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;
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值