c源程序的基本單位是什么(c源程序的基本單位是函數(shù))
C代碼:
// C語(yǔ)言代碼
struct TestClass
{
int m_a;
int m_b;
};
int TestClass_Sum(TestClass* self)
{
return self->m_a + self->m_b;
}
int main()
{
TestClass testClassObj;
testClassObj.m_a = 5;
testClassObj.m_b = 6;
int result = TestClass_Sum(&testClassObj);
return 0;
}
C++的類將功能封裝到類中形成類的成員函數(shù)。
物以類聚,代碼也是如此,數(shù)據(jù)結(jié)構(gòu)與其操作的函數(shù)封裝到一起,并提供訪問控制,形成類類型。同時(shí),可以通過類之間的關(guān)系不同,如繼承和抽象類的形式來(lái)進(jìn)一步群聚(grouping)類。
//C++代碼(也會(huì)編譯成類似左邊的代碼)
class TestClass
{
public:
int m_a;
int m_b;
int Sum();
};
int TestClass::Sum() // 隱藏了一個(gè)指向?qū)ο髷?shù)據(jù)區(qū)的一個(gè)this指針
{
return m_a+m_b;
}
int main()
{
TestClass testClassObj;
testClassObj.m_a = 5;
testClassObj.m_b = 6;
int result = testClassObj.Sum();
return 0;
}
C++的類只是代碼組織的一種方式而已,當(dāng)然,相應(yīng)的,也成了一種編程思維。當(dāng)然,類作為一種封裝方式,也提供了一種類作用域和命名空間,有了更高的安全性。類的繼承讓代碼有了多一種的代碼重用方式,特別是在需要向上轉(zhuǎn)型的場(chǎng)合,類的多態(tài)讓代碼更易擴(kuò)展。以類和對(duì)象作為程序的基礎(chǔ)構(gòu)件也增大了代碼的顆粒度。同時(shí),由此也讓代碼的設(shè)計(jì)模式和框架成為可能。
C語(yǔ)言函數(shù)以結(jié)構(gòu)體為參數(shù)來(lái)操作結(jié)構(gòu)體。
C++類的成員函數(shù)也隱藏了一個(gè)指向類數(shù)據(jù)成員的this指針。
最終的匯編代碼總是殊途同歸。

最后的匯編代碼幾乎一致:

-End-

本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 sumchina520@foxmail.com 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。
如若轉(zhuǎn)載,請(qǐng)注明出處:http://www.qjsdgw.cn/3093.html
如若轉(zhuǎn)載,請(qǐng)注明出處:http://www.qjsdgw.cn/3093.html