1.多态性
定义:由继承而产生的相关的不同的类,其对象对同一消息会做出不同的响应。
2.成员限定符:
private:只能被本类中的成员函数引用。与public对应。
protected:它不能被类外访问(这点与private相同),但可以被派生类的成员函数访问。
类中默认为privat。而在systemverilog中默认为public。注意区别。
3.作用域限定符:
::
4.c++要求对一般的内置函数要用关键字inline声明,但对类内定义的成员函数,可以省略inline,因为这些成员函数已被隐含地指定为内置函数。
注意:如果成员函数不在类体内定义,而在类体外定义,系统并不把它默认为内置函数。如果想将这些函数指定为内置函数,应当用inline做显式声明。
5.成员函数存储方式
不论在类内定义还是在类外定义的成员函数,都不占用对象的存储空间。
6.对象成员的引用
(1)对象名.成员名
(2)通过指针
class Time
{ pubic:
int hour;
int minute;
int second;
}
Time t,*p;
p=&t;
cout<<p->hour<<endl;
count<<(*p).hour<<endl;
count<<t.hour<<endl;
(3)通过引用
Tmie t1;
Time &t2=t1;
cout<<t2.hour<<endl;
7.类的封装性和信息隐蔽
公用成员函数是用户使用类的公用接口,或者说是类的对外接口。
8.类声明和成员函数定义的分离
//student.h
class student
{ pubic:
void display();
private:
int num;
char name[20];
char sex;
}
//student.cpp
#include<iostream>
#include"student.h"
void student:display()
{
}
//main.cpp
#include<iostream>
#include"student.h"
int main()
{ student stud;
stud.display();
return;
}
9.对象初始化
类的数据成员是不能在声明时初始化的。
如果一个类中所有数据成员都是公有的,则可以在定义对象时对数据成员初始化。
构造函数:
作用:用来处理对象的初始化。
构造函数与其他成员函数不同,不需要用户来掉用它,而是在建立对象时自动执行。构造函数的名字必须与类名同名。构造函数的功能是由用户定义的,用户根据初始化的要求设计函数体和函数参数。