传智扫地僧课程学习笔记。
将,
类的属性,即成员变量,
类的方法,即成员函数,
封装在一起,
并通过public,protected,private关键字,
实现对这些属性和方法的访问控制,
class MyCircle
{
public:
double m_r; //属性 成员变量
double m_s;
public:
double getR()
{
return m_r;
}
void setR(double r) //成员函数
{
m_r = r;
}
double getS()
{
m_s = 3.14*m_r*m_r;
return m_s;
}
protected:
private:
};
//类的封装的威力
//类封装的成员变量和成员函数 //可以调用类的成员函数
void printCircle01(MyCircle *pC)
{
cout<<"r"<<pC->getR()<<endl;
cout<<"s"<<pC->getS()<<endl;
}
void printCircle02(MyCircle &myc)
{
cout<<myc.getS()<<endl;
}
void printCircle03(MyCircle myc)
{
}
void main_类的封装第一层含有()
{
MyCircle c1, c2;
c1.setR(10);
cout<<"c1 s: "<<c1.getS()<<endl;
c1.setR(11);
printCircle01(&c1);
c2.setR(20);
printCircle01(&c2);
//引用
printCircle02(c2);
cout<<"hello...."<<endl;
system("pause");
}
上面的代码,描述的是类的封装,下面的代码,描述的是类的访问控制,
class MyAdvCircle
{
private:
double m_r2; //没有权限修饰的成员变量 函数 是 默认是私有属性
private:
double m_r; //属性 成员变量
double m_s; //相当于你的银行卡密码
public:
double getR() //你的名字
{
return m_r;
}
void setR(double r) //成员函数
{
m_r = r;
}
double getS()
{
m_s = 3.14*m_r*m_r;
return m_s;
}
};
void main_02()
{
MyAdvCircle c1, c2;
//c1.m_r = 10;
c1.setR(10);
system("pause");
}