类的定义
class 类名{ 访问范围说明符: 成员变量1 成员变量2 成员函数声明1 成员函数声明2 访问范围说明符: 更多成员变量 更多成员函数声明 ... };
类的定义要以
;
结束。
“访问范围说明符”一共有三种,分别是 public、private 和 protected。三者的区别后面会详细介绍,目前暂且都用 public。“访问范围说明符”可以出现任意多次。
“成员变量”的写法与普通的变量定义相同。称其为成员变量,是因为这些变量是一个类的成员。
同样地,“成员函数声明”的写法也与普通的函数声明相同。
一个类的成员函数之间可以互相调用。类的成员函数可以重载,也可以设定参数的默认值。
以前所学的函数不是任何类的成员函数,可称为“全局函数”。
成员变量就代表对象的“属性”,成员函数就代表对象的“方法”。成员变量和成员函数出现的先后次序没有规定。
成员函数的实现可以位于类的定义之外,格式如下:
返回值类型 类名:函数名() { 函数体 }
定义类之后,就可以定义对象了。定义对象的基本方法如下:
类名 对象名;
此处,“对象名”的命名规则和普通变量相同。对象也可以看作“类变量”。
public: int w, h; //成员变量,宽和高 void init( int w_,int h_ ); //成员函数,设置宽和高 int area(); //成员函数, 求面积 int perimeter(); //成员函数,求周长 }; //必须有分号 void CRectangle::init( int w_,int h_ ) { w = w_; h = h_; } int CRectangle::area() { return w * h; } int CRectangle::perimeter() { return 2 * ( w + h);
类的构造函数
1.构造函数是特殊的成员函数,与其他成员函数不同的是,构造函数和类同名,而且没有返回类型。与其他成员函数相同的是,构造函数也有形参表(可能为空)和函数体。
一个类可以有多个构造函数,每个构造函数必须有与其他构造函数不同数据或类型的形参。对于没有形参的构造函数我们称为默认构造函数,那么定义对象时,如果没有指明实参,就会调用默认的构造函数。
值得注意的是,如果我们没有显式地定义默认构造函数,编译器会自动为这个类生成默认构造函数,这个自动生成的默认构造函数,就会按照一定的初始化规则来初始化类中的成员。
构造函数与其他函数一样,具有名字、形参表和函数体,但是构造函数可以包含一个构造函数初始化列表。构造函数初始化列表以一个冒号开始,接着是一个以逗号分隔的数据成员列表,每个数据成员后面跟一个放在圆括号中的初始化式。
2.构造函数是一类特殊的函数,与其他的成员函数不同的是构造函数构造函数不需要用户来调用它,而是建立对象的时候自动的执行
代码示例
#include <iostream> //#include "student.h" //#include <string> //#include <cstring> using namespace std; class Time { public: Time() //构造函数必须与类的名称相同 { //利用构造函数对对象中的数据成员进行初始化 hour=0; minute=0; sec=0; } void set_time(); void show_time(); private: int hour; int minute; int sec; };
来源:https://www.cnblogs.com/yygxy/p/11522351.html