类和结构体的区别:
结构体只包含数据成员,而类可以包含数据成员和方法.
其实结构体里也可以包含方法,但他俩还是有区别的,结构体如果不加private或public的话,默认为public .
而类如果不加private或public 的话,默认为private.但是类符合面向对象的思想.通常如果成员都是公有的.那么用结构体更方便,如果成员都是私有的,那么用类更方便,但是通常情况下用类,
类的声明格式:
class 类名{
private:私有的数据成员和方法;
public:公有的数据成员和方法;
};
类体中如果不写public 或 private 默认为private.
现在的编程习惯是把public 先写 private 后写.
定义对象有两种形式:
1.class 类名 对象名
2.类名 对象名
显然第二种更快捷.
在声明类的时候也可以直接定义一个对象.
class Student{
public:...............;
private:.........;
}stu1,stu2; //定义了两个对象 stu1,stu2.
还可以不出现类名,直接定义对象,不过不提倡....违背了面向对象的原则.
::符号为作用域限定符或作用域运算符.
如果在函数前面不加 作用域运算符或前面不加类名,则这个函数为全局函数.
一般定义较长的函数时,通常把类和成员函数分开来写,这样有祝于阅读,并且隐藏了实现的细节,从而提高了软件工程的质量.
当用同一个类实例化出N个对象时,则N个对象在内存中有不同的数据成员,但共有类的函数.C++是通过this指针实现这一功能的.
访问对象成员的三种方法:
1.用对象名.(成员运算符) 访问对象的数据.
2,通过指针访问.
例如:
Time t,*p;
p=&t;
cout<<p->hour<<endl;
其中 ->表示指向.
3.通过引用访问.
Time t1;
Time &t2=t1;
cout<<t2.hour;