1.对象调用方法就是消息
2.类的成员函数
1)在类外定义成员函数
这里注意区分两个符号
void Student ::display();
Student stu.num;
前者为作用域限定符或作用域运算符,是类里面对成员操作的运算,函数本身也是类的成员。(类中私有数据共享)一般在函数定义中用。后者是从外部访问类的运算符。从外到内。:是属性运算符
简洁书写代码:
类内声明,类外定义。主函数调用。函数封装。
主函数:main.cpp,这里要写#include <iostream>和#include "student.h"
类的头文件:student.h,在头文件中进行类的声明
类文件中的公共部分 student.cpp (这里面要写#include <iostream>和include "student.h"
注意:后者引号的意思是在不同文件中可调用此文件,而不用尖括号。
3. 内置成员函数 不包括循环等控制结构
inline
提高程序运行效率
类内定义可省略Inline,类外定义要将inline写出来,而且不论是否用Inline,成员函数代码段不占用对象存储空间。
4. 怎样使用类和对象
第一个问题:对象初始化
系统自动调用一个函数实现,这个函数就是构造函数。其函数名与类名相同。这是一种特殊的成员函数,不返回类型,在生成类时系统的自动配置。
1)简单的初始化:在类中直接初始化
class Time
{public:
Time()//这就是构造函数的定义,在定义中对成员赋初值。
{hour=0;
minute=0;
sec=0;}
}
但要给不同成员赋不同的值,这就有必要引入带参数的构造函数
就是在类外定义构造函数并初始化
Box::box1(int h,intw,int len)
{lleight=h;
width=w;
length=len}
还可以更简单:在构造函数中用参数初始化表
Box::box1(int h,int w,int len):length(w),width(w),length(len){}
注意这两者的等价:
int height;
height=int(10);
height( )
后者只能在构造函数参数初始化表中用。