demo_copy_constructor_7.cpp

来自「对于一个初涉VC++的人来书」· C++ 代码 · 共 43 行

CPP
43
字号

//************************************************
// 直接调用构造函数产生无名对象
//************************************************

# include <iostream.h>
# include <string.h>

class Student
{
public:
	Student(char* pName="No Name")
	{
		cout<<"Constructing new student "<<pName<<endl;
		strcpy(name,pName);
	}

	~Student()
	{
		cout<<"Destructing "<<name<<endl;
	}

protected:
	char name[20];
};

void fn(Student& s)
{
	cout<<"In function fn()"<<endl;
}

void main()
{
	Student& refs=Student("Randy"); //创建无名对象初始化引用

//	Student s=Student("Jenny"); //创建无名对象初始化对象
//	Student s="Jenny";
	Student s("Jenny");

	fn(Student("Danny")); //创建无名对象作为实参传递给形参
	                      //构造函数用于强制类型转换
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?