c++ class 和struct 的区别
唯一区别就是struct 默认是public 而 class 默认是private
c++类的实现
1在类的定义时同时完成成员函数的定义
2在类的外部定义成员函数
类的定义实际上是定义一种类型,类不接受或存储具体的值,只作为生成具体对象的蓝图
只有将类实例化,创建对象后,系统才为对象分配存储空间
对象的创建和撤销
1构造函数
2析构函数
构造函数的特点:
对象创建,函数自动被调用.函数的名字和类名相同,没有返回类型和返回值,即使void也没有
主要工作有:
1:给对象一个标识符
2为对象数据成员开辟内存空间
3完成对象数据成员的初始化
构造函数可以有参数,一旦用户定义了构造函数,系统就不提供默认的了.
除了在构造函数体内初始化数据成员外,还可以通过初始化表达式来完成.
初始化的顺序不是成员变量在初始化表中的顺序决定的,而是由成员变量在类
中被声明的顺序决定.
初始化表达式的好处就是效率高
#include <iostream>
using namespace std;
class point
{
private:
int yPos; //先定义
int xPos; //后定义
public:
point(int x):xPos(x), yPos(xPos) //初始化表取决于成员声明的顺序
{
}
void print()
{
cout << "xPos: " << xPos << ", yPos: " << yPos << endl;
}
};
int main()
{
point pt1(3); //调用有参构造函数声明变量pt1
pt1.print();
return 0;
}