#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;
}
类的封装和访问控制
最新推荐文章于 2023-03-31 23:18:41 发布