生活随笔
收集整理的這篇文章主要介紹了
类和对象——封装
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
封裝是C++面向?qū)ο笕筇匦灾?br /> 封裝的意義:
將屬性和行為作為一個(gè)整體,表現(xiàn)生活中的事物
#include <iostream>
using namespace std
;const double PI
= 3.14;
class Circle{
public: int m_r
;double calculateZC(){return 2*PI
*m_r
;}
};int main(){Circle c1
;c1
.m_r
= 10;cout
<< "圓的周長為" << c1
.calculateZC()<< endl
;return 0;
}
將屬性和行為加以權(quán)限控制
- public 公共權(quán)限 :類內(nèi)可以訪問,類外可以訪問
- protected 保護(hù)權(quán)限:類內(nèi)可以訪問,類外不可以訪問 兒子可以訪問父親中的保護(hù)內(nèi)容
- private 私有權(quán)限:類內(nèi)可以訪問,類外不可以訪問 兒子不可以訪問父親中的私有內(nèi)容
#include <iostream>
#include <string>
using namespace std
;
class Person{
public:string m_Name
;
protected:string m_Car
;
private:int m_Password
;
private:void func(){ m_Name
="張三";m_Car
="奔馳";m_Password
=12345;}
};
int main(){ Person s1
;s1
.m_Name
= "李四";s1
.m_Car
= "BMW";s1
. m_Password
= 123;
}
結(jié)果:
struct和class的區(qū)別:
在C++中struct和class唯一的區(qū)別在于默認(rèn)訪問權(quán)限不同
- struct的默認(rèn)訪問權(quán)限為公共
- class的默認(rèn)訪問權(quán)限為私有
成員屬性設(shè)置為私有
優(yōu)點(diǎn)1:將所有成員屬性設(shè)置為私有,可以自己控制讀寫權(quán)限
優(yōu)點(diǎn)2:對(duì)于寫權(quán)限,我們可以檢測(cè)數(shù)據(jù)的有效性
#include <iostream>
#include <string>
using namespace std
;
class Person{
public:void setName(string name
){m_Name
= name
;}string
getName(){return m_Name
; }int getAge(){m_Age
= 0; return m_Age
;} void setAge(int age
){if(age
< 0 || age
> 0){m_Age
= 0 ;cout
<< "你這個(gè)老妖精!" << endl
; return ;}m_Age
= age
;} void setLover(string lover
){m_Lover
= lover
;}
private:string m_Name
;int m_Age
;string m_Lover
;
};
int main(){ Person p
;p
.setName("張三");cout
<< "性名為:" << p
.getName() << endl
;p
.setAge(43);cout
<< "年齡為:" << p
.getAge() << endl
;p
.setLover("dlrb");
}
總結(jié)
以上是生活随笔為你收集整理的类和对象——封装的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。