在學(xué)習(xí)如何定義一個(gè)類(lèi)之前状共,我們先快速的了解一下訪問(wèn)權(quán)限亲配。
C++的類(lèi)中尘应,有三個(gè)關(guān)于訪問(wèn)權(quán)限的關(guān)鍵字惶凝,分別定義了一個(gè)類(lèi)中成員函數(shù)或變量的訪問(wèn)權(quán)限。
* public: 公開(kāi)的
* private: 私有的
* protected: 受保護(hù)的
公開(kāi)的成員變量或函數(shù)犬钢,可以被任何其他的類(lèi)所訪問(wèn)苍鲜。
私有的成員變量或函數(shù),只能被當(dāng)前類(lèi)所訪問(wèn)玷犹。
受保護(hù)的成員變量或函數(shù)混滔,可以被當(dāng)前類(lèi)和其子類(lèi)所訪問(wèn)。
3 種關(guān)鍵字出現(xiàn)的次數(shù)和先后順序都沒(méi)有限制歹颓。沒(méi)有關(guān)鍵字描述的為私有成員坯屿。
例如:
#include <iostream>
class A {
private:
int a;
protected:
int b;
public:
int c;
A(int aa = 1, int bb = 2, int cc = 3) : a(aa), b(bb), c(cc) {}
};
class B : public A {
int d;
public:
B() {
d = b;
}
void printValue() {
std::cout << "b::d = " << d << std::endl;
}
};
int main()
{
A a;
B b;
//std::cout << "A::a = " << a.a << std::endl;
//std::cout << "A::b = " << a.b << std::endl;
std::cout << "A::c = " << a.c << std::endl;
b.printValue();
return 0;
}
$ g++ a.cpp && ./a.out
A::c = 3
B::d = 2
課程錄像
1 北京大學(xué)郭煒/劉家瑛老師,C++程序設(shè)計(jì)課程錄像
2 C++ Complete Course