1、類的定義
c++在c的基礎(chǔ)上加入了面向?qū)ο蟮木幊趟季S,類的定義如下:
class Object
{
public:
double attribute1;
double attribute2;
void method1();
void method2();
protected:
string attribute3;
private:
int attribute4;
};
其中public,protected,private為類成員修飾符,決定了類成員的訪問(wèn)屬性。
attribute為類的屬性,method為類的方法,attribute和method統(tǒng)稱為類的成員。
2、類的實(shí)例(對(duì)象)及對(duì)象的訪問(wèn)
類的實(shí)例,即生成對(duì)象與聲明變量一樣。
int main()
{
Object object1;
Object object2;
return 0;
}
成員的訪問(wèn)(通過(guò)成員訪問(wèn)運(yùn)算符.),如下例:
#include <iostream>
#include <stdio.h>
#include <string>
using namespace std;
class Rectangle
{
public:
double length; // 聲明類屬性
double width; // 聲明類屬性
double getSquare(); // 聲明類方法
};
// 定義類方法
double Rectangle::getSquare()
{
return length * width;
}
int main()
{
Rectangle r; // 實(shí)例對(duì)象
r.length = 25.0; // 訪問(wèn)類屬性
r.width = 25.0; // 訪問(wèn)類屬性
double square;
square = r.getSquare(); // 訪問(wèn)類方法
cout << "面積等于:" << square << endl;
return 0;
}
運(yùn)行結(jié)果:
面積等于:625
3、類成員修飾符
public:公有成員,公有成員在程序中類的外部是可訪問(wèn)的,可以不使用任何成員函數(shù)來(lái)設(shè)置和獲取公有變量的值private: 私有成員,在類的外部是不可訪問(wèn)的,只有類成員方法和友元函數(shù)可以訪問(wèn)。protected: 保護(hù)成員,與private相似,不同點(diǎn)在于被protected修飾的成員,其子類(派生類)是可以訪問(wèn)的
class Rectangle
{
public:
double length;
double getSquare();
private:
double width;
};
int main()
{
Rectangle r;
r.length = 25.0;
r.width = 25.0; // 訪問(wèn)非法
double square;
square = r.getSquare();
cout << "面積等于:" << square << endl;
return 0;
}
上面例中width為類的私有成員,而在main()函數(shù)中直接訪問(wèn)編譯是會(huì)報(bào)錯(cuò)的。
報(bào)錯(cuò)結(jié)果如下:
“Rectangle::width”: 無(wú)法訪問(wèn) private 成員(在“Rectangle”類中聲明)