C++语言之析构函数与构造函数

#include <iostream>

using namespace  std ; 

class  Dog
{
	//默认情况下定义变量为私有
	int a ; 

	public:
	//两个函数都只能自动调用,不能被人为手动调用

	//构造函数为公有

	//用法:
	//初始化该类成员变量或者成员方法
	//分配空间
	Dog(int a ) ; 

	//析构函数
	//析构函数没有返回值,不能传参,也不能重载,只能有一个或者没有
	//调用方式为  当空间释放之前自动调用。如果为栈区,则栈消毁之前自动调用,如果为全局区或者静态区,则进程结束之前自动调用

	//用法:
	//释放空间
	~Dog();
};

int main(void)
{
	cout << "befor ... " << endl ;
	Dog  dog(10) ;
	cout << "after ... " << endl ;
	return 0 ;
}

Dog::Dog(int a)
{
	this->a = a ;
	cout << "hello " << endl ;
}

Dog::~Dog()
{
	cout << "good bey " << endl ;
}

运行结果:

时间: 2024-11-13 08:40:15

C++语言之析构函数与构造函数的相关文章

C++语言基础 例程 调用构造函数和析构函数的顺序

贺老师的教学链接  本课讲解 析构函数应用实例方案1 const int N =500; class Salary { public: Salary(int); void input( ); void show( ); ~Salary(); private: double salarys[N]; int number; //实际人数 }; 方案2 class Salary { public: Salary(int); void input( ); void show( ); ~Salary();

【C/C++学院】(6)构造函数/析构函数/拷贝构造函数/深copy浅copy

1.构造函数     类的初始化即为构造函数.也为:隐式的初始化. 构造函数在对象初始化的时候,自动被调用.隐式的调用. 构造函数分为三种:有参构造函数.无参构造函数.拷贝构造函数. 有参构造函数调用有三种:括号法.等号法.手工法. #include <iostream> using namespace std; class Test { private: int m_a; public: Test()//无参构造函数 { } Test(const Test &obj)//拷贝构造函数

C#之析构函数与构造函数

      在学习C#时这两个函数放到一起讲了,听课的时候感觉只是有了肤浅的认识,于是查了一些资料,下面做个比较全面的理解.       析构函数--垃圾回收器,它用来清理对象时调用       析构函数不能有参数,不能任何修饰符而且不能被调用,它是自动调用的,这是它与构造函数的一个主要区别.由于析构函数的目的与构造函数的相反,就加前缀'~'以示区别. class First { ~First() { System.Diagnostics.Trace.WriteLine("First's des

C++语言基础 例程 默认构造函数

贺老师的教学链接  本课讲解 默认构造函数(default constructor) class Time { public: Time( ); void show_time(); private: int hour; int minute; int sec; }; Time::Time( ) { hour=0; minute=0; sec=0; }

详解C++中如何将构造函数或析构函数的访问权限定为private_C 语言

今天面试被问到了这个单例模式常用到的技术手段,下面进行分析:         很多情况下要求当前的程序中只有一个object.例如一个程序只有一个和数据库的连接,只有一个鼠标的object.通常我们都将构造函数的声明置于public区段,假如我们将其放入private区段中会发生什么样的后果?这意味着什么?         当我们在程序中声明一个对象时,编译器为调用构造函数(如果有的话),而这个调用将通常是外部的,也就是说它不属于class对象本身的调用,假如构造函数是私有的,由于在class外

全面解析C++中的析构函数_C 语言

"析构函数"是构造函数的反向函数.在销毁(释放)对象时将调用它们.通过在类名前面放置一个波形符 (~) 将函数指定为类的析构函数.例如,声明 String 类的析构函数:~String(). 在 /clr 编译中,析构函数在释放托管和非托管资源方面发挥了特殊作用. 析构函数通常用于在不再需要某个对象时"清理"此对象.请考虑 String 类的以下声明: // spec1_destructors.cpp #include <string.h> class

(一一六)类的构造函数和析构函数

类构造函数: 构造函数 是专门用于构造新对象.将值赋给它们的数据成员. C++为这些成员提供了名称和使用语法,而程序员需要提供方法定义.名称与类名相同. 例如:Stock类的一个可能的构造函数是名为Stock()的成员函数. 构造函数的原型和函数头有一个有趣的特征--虽然没有返回值,但没有被声明为void类型.实际上,构造函数没有声明类型.     声明和定义构造函数: 和使用普通函数(根据传递的参数给私有成员赋值)几乎一样,除了构造函数的函数名需要和类名保持一致. 例如: void Playe

php构造函数与析构函数_php技巧

php构造函数是对象创建完成后,第一个自动调用的方法,析构函数是当对象被释放之前最后一个自动调用的方法.本文章向大家介绍php构造函数与析构函数. php构造函数 1.是对象创建完成后,"第一个""自动调用"的方法 2.构造方法的定义,方法名是一个固定的, 在php4中:和类名相同的方法就是构造方法 在php5中:构造方法选择使用 魔术方法__construct() 所有类中声明构造方法都使用这个名称 优点:在改变类名时,构造方法不用改变 魔术方法: 在类中写出了某

【C++】C++构造函数和析构函数

C++提供构造函数来处理对象的初始化. 构造函数是一种特殊的成员函数,不需要用户来调用,定义对象时被自动执行. 构造函数名字与类名相同,无返回类型(void也不能有哦). 可以由用户自己定义实现,根据需要设计对数据成员进行初始化 用上个例子来继续写代码进去 CTime为类名 无参数的构造函数: 在.h文件中进行声明: CTime(); 在.cpp文件中进行实现: CTime::CTime(){ m_hour = 0; m_minute = 0; m_second = 0; } 定义对象: CTi