目录
类的定义
class 类的名称
{
public:
外部接口
protected:
保护性成员
private:
私有成员
}
public
使用 public 关键字声明的公有成员可在类外访问,即公有类型成员定义了外部接口
#include<iostream>
using namespace std;
class area //定义 area 类。
{
public: //定义公有成员,外部可以访问。
double width;
double length;
};
int main()
{
area area1; //定义对象 area1。
double AREA; //定义双精度型变量 AREA。
area1.width=3; //外部访问公有成员,设置宽为 3。
area1.length=3.1; //外部访问公有成员,设置长为 3.1。
AREA=area1.width*area1.length; //计算面积。
cout << AREA <<endl; //输出面积
return 0;
}
protected
使用 protected 关键字声明的受保护成员可在子类中访问
#include<iostream>
using namespace std;
class area //定义 area 类。
{
protected://定义受保护的成员。
double width;
};
class squarearea:area //定义 squarearea 子类。
{
public: //定义公有成员。
void setsquarewidth(double wid); //定义成员函数。
double getsquarewidth(void);
};
//定义子类的成员函数。
void squarearea::setsquarewidth(double wid)
{
width=wid; //通过 squarearea 子类访问 area 类中受保护的成员 width。
}
double squarearea::getsquarewidth(void)
{
return width;
}
//程序的主函数 。
int main()
{
squarearea square; //定义对象。
square.setsquarewidth(3.1); //设置宽度为 3.1。
cout <<"width:"<<square.getsquarewidth()<<endl; //输出设置的宽度。
return 0;
}
private
使用 private 关键字声明的私有成员只能被本类的成员函数访问
类的成员函数
成员函数描述了类的行为。成员函数在类中只用说明其函数的返回类型、名字和参数表,而函数的具体实现在类外说明
class 类名
{
函数的返回类型 函数名(参数列表)
}
返回值类型 类名::函数名(参数列表) //特别的,在类外说明函数的具体实现时,需要使用类名限制成员函数,其形式为:类名::函数名(参数列表)。
{
函数体
}
如
class area
{
...
void setwidth(double wid);
...
}
//在类外说明函数的具体实现
void area::setwidth(double wid)
{
函数体
}