C++中的构造函数和析构函数完全看不懂,哪位大神能够给解释一下啊 最好可以举一个简单的例子,感激不
C++中的构造函数和析构函数完全看不懂,哪位大神能够给解释一下啊最好可以举一个简单的例子,感激不尽!...
C++中的构造函数和析构函数完全看不懂,哪位大神能够给解释一下啊 最好可以举一个简单的例子,感激不尽!
展开
2个回答
展开全部
构造函数就是例的对像被创建的时候执行的函数,用于初始化对像的内容.(如果需要)
析构函数是例的对像被销毁的时候执行的函数,用于施放对像的资源.(如果有)
如:
calss A:
{
int x;
public A() //构造函数
{
x = 0;
printf("init ok!\n");
}
public ~A() //析构函数
{
printf("beybey!\n");
}
};
int main()
{
A a;
printf("hello!\n";
}
运行和会显示:
init ok! (A a是创建对像a,调构造函数)
hello!(主函数输出)
beybey.(主函数退出前会销毁a,调析构函数)
析构函数是例的对像被销毁的时候执行的函数,用于施放对像的资源.(如果有)
如:
calss A:
{
int x;
public A() //构造函数
{
x = 0;
printf("init ok!\n");
}
public ~A() //析构函数
{
printf("beybey!\n");
}
};
int main()
{
A a;
printf("hello!\n";
}
运行和会显示:
init ok! (A a是创建对像a,调构造函数)
hello!(主函数输出)
beybey.(主函数退出前会销毁a,调析构函数)
更多追问追答
追问
那么是不是我们在类里声明的每一个成员函数都要调用构造函数
麻烦您了
展开全部
构造函数 就是对象被创建的时候调用
析构函数 就是对象被销毁的时候调用
#include <iostream>
using namespace std;
class Line
{
public:
void setLength( double len );
double getLength( void );
Line(); // This is the constructor declaration
~Line(); // This is the destructor: declaration
private:
double length;
};
// Member functions definitions including constructor
Line::Line(void)
{
cout << "Object is being created" << endl;
}
Line::~Line(void)
{
cout << "Object is being deleted" << endl;
}
void Line::setLength( double len )
{
length = len;
}
double Line::getLength( void )
{
return length;
}
// Main function for the program
int main( )
{
Line line;
// set line length
line.setLength(6.0);
cout << "Length of line : " << line.getLength() <<endl;
return 0;
}
关于C++的问题都可以问!
析构函数 就是对象被销毁的时候调用
#include <iostream>
using namespace std;
class Line
{
public:
void setLength( double len );
double getLength( void );
Line(); // This is the constructor declaration
~Line(); // This is the destructor: declaration
private:
double length;
};
// Member functions definitions including constructor
Line::Line(void)
{
cout << "Object is being created" << endl;
}
Line::~Line(void)
{
cout << "Object is being deleted" << endl;
}
void Line::setLength( double len )
{
length = len;
}
double Line::getLength( void )
{
return length;
}
// Main function for the program
int main( )
{
Line line;
// set line length
line.setLength(6.0);
cout << "Length of line : " << line.getLength() <<endl;
return 0;
}
关于C++的问题都可以问!
更多追问追答
追问
是每声明一个成员函数都要创建一个构造函数吗
追答
不是,构造函数根据需要创建
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |