类
类的声明
注意:成员数据算入类的空间大小,成员函数不算入类的空间大小
原因:成员函数是存放在代码区的,不算入类的空间大小
class Data { private: int num; public: void setNum(int data){ num=data; } int getNum(){ return num; } }; int main() { cout<<sizeof(Data)<<endl;//4 return 0; }
成员函数的定义
方法:类内,类外,类外内联函数
注意:类外定义内联函数时,类的声明和内联函数的定义要在同一个文件中,否则无法进行代码替换
例:类的定义在头文件中,成员函数在cpp文件中实现
//fun.h #ifndef FUN_H #define FUN_H class Data { private: int num; public: void setNum(int n); int getNum(); }; #endif // FUN_H //fun.cpp #include"fun.h" void Data::setNum(int n) { num=n; } int Data::getNum() { return num; } //main.cpp #include<iostream> #include"fun.h" using namespace std; int main() { Data ob; ob.setNum(200); cout<<"num="<<ob.getNum()<<endl; return 0; } //输出200
类成员的访问权限及类的封装
类内部没有访问权限的限制,都可以互相访问。
在C++中用class定义的类中,其成员的默认存取权限是private。
对象
1.声明类同时定义对象
2.先声明类,再定义对象
3.不出现类名,直接定义对象---以后不能再定义了
4.在堆上创建对象
注:不可以在定义类的同时对其数据成员进行初始化,因为类不是一个实体,不合法但是能编译运行
对象成员的引用:对象名.数据成员名 或者 对象名.成员函数名(参数列表)