🎁個人主頁:我們的五年
🔍系列專欄:C++課程學習
🎉歡迎大家點贊👍評論📝收藏?文章
?
?
目錄
🍟1.1類的引出:
🍟1.2類的結構:
🍟1.3類的兩種定義方法:
🍟1.4成員變量命名的建議:
?前言:
C語言是一門面向過程的語言,而C++是一門面向對象的語言。
1.C語言:
關注的是過程,解決提出的問題要逐步調用函數來解決。
2.C++:
C++是面向對象,關注的是對象,其他的有相應的方法。
🍟1.1類的引出:
類是在結構體上引出來的,在C語言中,結果體只可以里面只能有數據。而在C++中,結構體中可
以定義函數。而C++中就這把這變成的類(class),但是與結構體還是有區別的,比如:
1.結構體里面的數據全部是公開(public)的,因為C++要兼容C語言。定義了一個結構體,我們可以直接在main函數訪問結構體里面的數據。
2.類如果什么都不寫的情況下,數據都是私有的(private)。
3.C++中的結構體也不需要加struct。
#include<iostream>
using namespace std;
//結構體
struct Data1{int _year;int _month;int _day;
};
//類
class Data2{
public:int _year;int _month;int _day;
};int main()
{Data2 a;a._year = a._month = a._day = 1;//Data1 a;//a._year = a._month = a._day = 1;cout << a._year<<endl;
}
🍟1.2類的結構:
class classname{
? ? ? ? //類體:
? ? ? ? //1.成員函數
? ? ? ? //2.成員變量
};? ? ? ? //和結構體一樣,后面有;
class classname{//類體://1.成員函數//2.成員變量};? ? ? ? //和結構體一樣,后面有;
這些東西大家看看就行:class類的關鍵字,classname類的名稱,{}類的主體,還有后面的封號;;
大家需要看的就是:
類里面的內容分為兩種:
1.類里面的數據叫成員變量,或者類的屬性,但是我覺得,把它看成類的屬性更能突出面向對象,
關注的對象。
2.類里面的函數叫成員函數,或者類的方法。還是一樣的,我覺得,類的方法更能突出其面向對象的特點。
🍟1.3類的兩種定義方法:
兩種方法的主要區別也就是,是否類的方法都在類里面進行聲明和定義。
1.類的方法都在類里面聲明和定義:
這種情況下,編譯器會把函數當成內聯函數進行處理。
#include<iostream>
using namespace std;class Data {
public://聲明和定義都在類里面void print() {cout << "print()" << endl;}
private:int _data;
};int main()
{Data a;a.print();
}
2.類的方法的聲明和定義分開,聲明在類里面,定義不在類里面:
聲明放在.h文件種,定義在.cpp文件中。
#include<iostream>
using namespace std;class Data {
public://聲明void print();
private:int _data;
};//定義:
void Data::print() {cout << "聲明和定義分離" << endl;
}int main()
{Data a;a.print();
}
🍟1.4成員變量命名的建議:
一般我們介意在類的變量名稱中加入一些符號以區分。
一般的就是在名字前面加_,或者在名字后面加_。不同的公司有不同的命名方式。
比如:
#include<iostream>
using namespace std;class Data {
public://聲明void print();
private://在data前面加上_int _data;
};//定義:
void Data::print() {cout << "聲明和定義分離" << endl;
}int main()
{Data a;a.print();
}