学习记录,加强记忆也方便以后查阅!
二,类和对象的特性
2.1,类的说明和对象的定义
C++中对象的类型称为类(class)。
声明类的类型
class 类名
{public:
公用数据和成员函数;
private:
私有数据和成员函数;
};
定义对象的方法
class 类名
{public:
公用数据和成员函数;
private:
私有数据和成员函数;
};
1,先声明类类型,再定义对象
class 类名 对象名;
如:class student stu1,stu2;
类名 对象名;
2,在声明类的同时定义对象
class 类名
{数据和成员函数
}对象名;
C++增加class类型后,仍保留了结构体类型(struct)。
用struct声明的类,若不做private或public的声明,系统将其默认为public。
用class声明的类,若不做private或public的声明,系统将其默认为private。
2.2,类的成员函数 在类外定义成员函数内置成员函数(inline)class 类名
{数据和成员函数};
void 类名 :: 函数名() //在类外定义函数
{函数体}类名 对象名;
2.3,对象成员的引用 通过对象名和成员运算符访问对象中的成员class 类名
{数据和成员函数};
inline void 类名 :: 函数名() //在类外定义函数为内置函数
{函数体}类名 对象名;
对象名.成员名
可以用同样的方式调用对象的公用成员函数。
通过指向对象的指针访问对象中的成员通过对象的引用来访问对象中的成员class time
{public: //数据成员公用
int hour;
};
time t,*p; //定义对象t和指针变量p
p = &t; //使p指向对象t
cout<
hour; //输出p指向的对象中的成员hour
如果已经定义了time类,并有以下定义语句:
time t1;
time &t2 = t1; //定义time类引用t2,并使之初始化为t1
cout<
示例:
#includeusing namespace std; class Time //声明class类 {public: int hour; int minute; int sec; }; int main() { void set_time(Time&); //函数声明 void show_time(Time&); Time t1; //定义t1为time类对象 set_time(t1); //调用ste_time函数,向t1对象中的数据成员输入数据 show_time(t1); //调用show_time函数,输出t1对象中的数据 Time t2; set_time(t2); show_time(t2); return 0; } void set_time(Time& t) //定义函数set_time,形参t是引用变量 { cin>>t.hour; cin>>t.minute; cin>>t.sec; } void show_time(Time& t) { cout< 将上述程序改为含成员函数的类来实现:
#includeusing namespace std; class Time //声明类 {public: void set_time(); //公用函数 void show_time(); private: //数据成员为私有 int hour; int minute; int sec; }; int main() { Time t1; //定义对象 t1.set_time(); //调用对象t1的成员函数 t1.show_time(); Time t2; t2.set_time(); t2.show_time(); return 0; } void Time::set_time() //在类外定义函数 { cin>>hour; cin>>minute; cin>>sec; } void Time::show_time() //在类外定义函数 { cout<



