类与对象
对象:对应要研究的事或物 ----具体 ---变量/常量
类:具有相同特性或者行为的事或物对象抽象为类, --抽象---数据类型
定义:
class 类名
{
成员(成员数据, 成员函数)(成员属性, 成员方法)
};
例子:
class Student{
int age;
char name[32];
void say();
void sleep();
};
c++对比类与结构体
| 结构体 | 类 |
| struct Student{ int age; char name[32]; void say(); void sleep(); }; | class Student{ int age; char name[32]; void say(); void sleep(); }; |
| 成员默认公有--对外开放 struct Student Jack; Jack.age = 23;//正确 | 成员默认私有--对外隐藏 Student Jack; Jack.age = 23;//错误 |
c++类成员权限--通过对象调用时候的权限
| public-公有权限 | protected-保护权限 | private-私有权限 |
| 对外开放, 在类外可以通过类对象直接访问 | 对外隐藏,对内开放,可以被继承 | 对外隐藏,对内开放,不能被继承 |
注:对外--在类外通过对象来访问类的成员, 对内--在类的成员函数中访问类的成员
类:就是对数据以及操作数据的方法封装
****************************************************************************************
类成员权限
class Student{
private: 声明下面两个成员为私有
int age;
char name[32];
public:
char sex;
public: 声明下面一个成员为公有
void say();
protected: 声明下面一个成员为保护
void sleep();
};
例子:
class Student{
private:
int age;
char name[32];
char sex;
public:
void say(){
cout
***********************************************************************************
类对象空间
类的对象空间大小是所有成员数据空间大小+虚表大小和(字节对齐),成员数据不包含static修饰的成员,
如果类中没有成员数据,类的对象大小为1
*********************************************************************************
this指针:在成员函数中默认会传递一个调用者本身
class Data{
private:
int data;
int number;
char name[32];
public:
void show()
{
cout<data<data<data = data;
}
};
int main()
{
cout<
成员函数类内声明,类外实现
class Data
{
public:
void setData(int data);
inline void showData(); //声明为内联函数
void show() //类内声明和实现, 默认就是内联函数
{
cout<data = data;
}
void data::showData()
{
cout<data<



