c++面向对象
类:描述一组相关对象的抽象
C++中设置结构体用的是class,与C不同的是,可以在结构体中定义函数。
结构体中的变量默认为private,所以调用时需要加public
class stu
{
public:
int a;
void fun(int b);
void fun(int b,int c);//重载,函数名相同,参数不同
}
void stu::fun(int b)//stu::是为了将该函数包含在该结构体当中
{
cout<<b<<endl;
}
void stu::fun(int b,int c)
{
cout<<b<<c<<endl;
}
void main()
{
int i=1,j=2;
stu p;
p.fun(i);
p.fun(i,j);
}
构造函数
与类同名 ,没有返回值,可以有参数,可以有重载,实例化一个对象自动调用构造函数,系统本身就是一个不带参的构造函数
析构函数
1当对象被销毁时自动调用,没返回值,没传参
2函数名与类名同名,函数名前加~
静态成员变量(在类中static某个变量)
1静态成员属性属于类,而不是某一个对象
2静态成员需要被初始化
静态成员方法(在类中static某个函数)
1静态成员函数只属于类,而不是某个对象
2静态成员函数只能调用静态成员变量
赋值构造函数(将某一个对象初始化为另一个对象):
类名(const 类名 &a)
赋值操作符函数
类名 & 类名::operator = (const 类名 &a)
虚函数
virtual,修饰父类方法,若子类有该函数则调用子类,无就调用父类
虚函数前提:父类指针指向子类对象
模块函数
template
template <typename t>
t max(t a,t b)
{
a>b?a:b; //比较ab大小,谁大输出谁
}