C++类,和类名相同的那2个函数有什么用的?
一个类的定义classabc{fc();~fc();.....}请问这2个和类名相同的名字的函数有什么用的?写错了.classfc{fc();~fc();.....}...
一个类的定义
class abc{
fc();
~fc();
.....
}
请问这2个和类名相同的名字的函数有什么用的?
写错了.
class fc{
fc();
~fc();
.....
} 展开
class abc{
fc();
~fc();
.....
}
请问这2个和类名相同的名字的函数有什么用的?
写错了.
class fc{
fc();
~fc();
.....
} 展开
展开全部
class fc{
fc();
~fc();
.....
}
fc();它叫构造函数,就是用来初始化变量的,它是用系统自动调用的,要是楼主没有写构造函数的话,系统会为之生成一个默认的构造函数,它的调用就是在声明变量的时候系统就自动地隐式调用。也许楼主会问为什么要初始化呢??
其实c++中类的数据成员的访问不是有三种情况嘛(小弟就不说了),对于一般的数据成员它的访问是由类的函数成员才能访问的,类的对象是不能直接访问的,比如:
class fc
{
pbulic:
fc();
~fc();
.....
protected:
int x;int y;
}
fc obj;要使用obl.x是错误的,但可以用构造函数进行初始化啊,比如:fc(){x=0;y=0;}
对于~fc();它叫析构函数,与前面的构造函数是一对的,而它的作用正好和构造函数相反,前面进行了初始化,那么后面就得进行“扫尾工作”,它是在对象的生存期即将结束时被系统调用的!!!!
楼主还要理解它们的不同点!!
如果不懂的话,我们就可以交流一下!!!!530910067
fc();
~fc();
.....
}
fc();它叫构造函数,就是用来初始化变量的,它是用系统自动调用的,要是楼主没有写构造函数的话,系统会为之生成一个默认的构造函数,它的调用就是在声明变量的时候系统就自动地隐式调用。也许楼主会问为什么要初始化呢??
其实c++中类的数据成员的访问不是有三种情况嘛(小弟就不说了),对于一般的数据成员它的访问是由类的函数成员才能访问的,类的对象是不能直接访问的,比如:
class fc
{
pbulic:
fc();
~fc();
.....
protected:
int x;int y;
}
fc obj;要使用obl.x是错误的,但可以用构造函数进行初始化啊,比如:fc(){x=0;y=0;}
对于~fc();它叫析构函数,与前面的构造函数是一对的,而它的作用正好和构造函数相反,前面进行了初始化,那么后面就得进行“扫尾工作”,它是在对象的生存期即将结束时被系统调用的!!!!
楼主还要理解它们的不同点!!
如果不懂的话,我们就可以交流一下!!!!530910067
展开全部
第一个是构造函数,第二个是析构函数,分别在对象创建和删除时自动调用
如果你希望在new和delete时执行命令,可以加在这里;是自动调用的,程序中不能直接调用这两个函数
如果你希望在new和delete时执行命令,可以加在这里;是自动调用的,程序中不能直接调用这两个函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
fc();构造函数
一般用来初始化一些成员变量
~fc();析构函数
释放一些需要释放的成员变量,比如指针
一般用来初始化一些成员变量
~fc();析构函数
释放一些需要释放的成员变量,比如指针
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是构造函数和析构函数 构造函数用来 初始化参数 析构函数是在对象的生命周期结束时自动执行的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、这种函数叫构造函数,就是用来初始化变量的,它是用系统自动调用的,要是楼主没有写构造函数的话,系统会为之生成一个默认的构造函数,它的调用就是在声明变量的时候系统就自动地隐式调用。
2、定义C++构造函数:
C++语言为类提供的构造函数可自动完成对象的初始化任务,全局对象和静态对象的构造函数在main()函数执行之前就被调用,局部静态对象的构造函数是当程序第一次执行到相应语句时才被调用。然而给出一个外部对象的引用性声明时,并不调用相应的构造函数,因为这个外部对象只是引用在其他地方声明的对象,并没有真正地创建一个对象。
C++的构造函数定义格式为:
class <类名>
{
public:
<类名>(参数表)
//...(还可以声明其它成员函数)
};
<类名>::<函数名>(参数表)
{
//函数体
}
如以下定义是合法的:
class T
{
public:
T(int a=0){i=a;}//构造函数允许直接写在类定义内,也允许有参数表。
private:int i;
};
2、定义C++构造函数:
C++语言为类提供的构造函数可自动完成对象的初始化任务,全局对象和静态对象的构造函数在main()函数执行之前就被调用,局部静态对象的构造函数是当程序第一次执行到相应语句时才被调用。然而给出一个外部对象的引用性声明时,并不调用相应的构造函数,因为这个外部对象只是引用在其他地方声明的对象,并没有真正地创建一个对象。
C++的构造函数定义格式为:
class <类名>
{
public:
<类名>(参数表)
//...(还可以声明其它成员函数)
};
<类名>::<函数名>(参数表)
{
//函数体
}
如以下定义是合法的:
class T
{
public:
T(int a=0){i=a;}//构造函数允许直接写在类定义内,也允许有参数表。
private:int i;
};
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询