选件类(C++)
class 关键字声明类类型或定义类类型的对象。
[template-spec] class [ms-decl-spec] [tag [: base-list ]]
{
member-list
} [declarators];
[ class ] tag declarators;
参数
template-spec
选项模板规范。 有关更多信息,请参见 模板规范。class
class 关键字。ms-decl-spec
选项存储类的规范。 更多信息,请参见 __declspec 关键字。tag
类型名称将该类命名为。 在类范围内,标记将变成保留字。 标记是可选的。 如果省略,匿名类定义。 有关更多信息,请参见 匿名类类型。base-list
选项列表类或结构此类派生其成员距离。 有关更多信息,请参见基类。 每个基类或结构名称可以在访问说明符 (公共、 专用, 保护) 和 虚拟 关键字之后。 在参见 对类成员的控件访问 的成员访问表有关更多信息。member-list
列出类成员。 有关更多信息,请参考 选件类成员。declarators
声明中指定类类型的一个或多个实例的名称。 ,如果类的所有数据成员是 public,声明可以包含初始值设定项列表。 这是常见在框架中,默认情况下数据成员是 public ,比在类。 有关更多信息,请参见声明概述。
备注
有关类的更多信息通常,请参见以下主题之一:
有关托管类和结构的信息,请参见 类和结构
示例
// class.cpp
// compile with: /EHsc
// Example of the class keyword
// Exhibits polymorphism/virtual functions.
#include <iostream>
#include <string>
#define TRUE = 1
using namespace std;
class dog
{
public:
dog()
{
_legs = 4;
_bark = true;
}
void setDogSize(string dogSize)
{
_dogSize = dogSize;
}
virtual void setEars(string type) // virtual function
{
_earType = type;
}
private:
string _dogSize, _earType;
int _legs;
bool _bark;
};
class breed : public dog
{
public:
breed( string color, string size)
{
_color = color;
setDogSize(size);
}
string getColor()
{
return _color;
}
// virtual function redefined
void setEars(string length, string type)
{
_earLength = length;
_earType = type;
}
protected:
string _color, _earLength, _earType;
};
int main()
{
dog mongrel;
breed labrador("yellow", "large");
mongrel.setEars("pointy");
labrador.setEars("long", "floppy");
cout << "Cody is a " << labrador.getColor() << " labrador" << endl;
}