考完再来笔记,简直无情,考试各种错,各种没有爱。。
static
#include<iostream.h>
int fun(int n)
{
static int m=2;
m=m+n;
return m;
}
int main ()
{
int n1=2;
int n2=3;
fun(n1);
cout<<fun(n2);
}
static定义为静态全局变量
运算fun(n1) m值为4
运算fun(n2) m值为7
结果 输出 7
构造函数
是一种特殊的方法 主要用来在创建对象时初始化对象 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中 特别的一个类可以有多个构造函数 可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载
例
#include<iostream.h>
class A
{
private:
int i;
int j;
public:
A(int m,int n) //构造函数
{
i=m; j=n;
cout<<m<<n;
}
}; //←注意这个冒号
int main()
{
A B(2,4);
}
析构函数
与构造函数相反,当对象脱离其作用域时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)。
#include<iostream.h>
class A
{
private:
int i;
int j;
public:
A(int m,int n)
{
i=m; j=n;
cout<<i<<j<<endl;
}
~A()
{
cout<<i<<j<<endl;
}
};
int main()
{
A B(2,4);
A C(6,8);
}
运行结果
24
68
68
24
派生类
利用继承机制,新的类可以从已有的类中派生。那些用于派生的类称为这些特别派生出的类的“基类”。
#include<iostream.h>
class A
{
private:
int i;
int j;
public:
A(int m,int n)
{
i=m; j=n;
cout<<i<<j<<endl;
}
};
class B:public A
{
private:
int k;
int l;
public:
B(int m, int n, int g, int h):A(m,n)
{
k=g;
l=h;
cout<<m<<n<<g<<h<<endl;
}
};
int main()
{
B C(2,4,6,8);
}
运行结果
24
2468
|