⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 514.cpp

📁 C++实训教程
💻 CPP
字号:
//	514.cpp  DEMO 匿名对象和强制转换
#include <iostream>
class P
{
   int x,y;   
public:
   P(){ cout << "构造函数0\n" ;x = 0; y = 0 ;}
   P(int a,int b=0)
   { cout << "构造函数1\n" ;x = a; y= b; }
   void Disp()const
   { cout << x << "  " << y << endl;}
   ~P() {cout << "析构函数\n" ;}
};

void fn(P r);//parameter as value

void main()
{
	P p1(10,-10);
	fn(p1);
	fn(2); 
    fn(P());
    fn(P(30,-30));
	//fn(1,2);  error
}

void fn(P r)
{	r.Disp(); }
/*
(1)程序运行的结果:
构造函数1
10  -10
析构函数
构造函数1
2  0
析构函数

构造函数0
0  0
析构函数
构造函数1
30  -30
析构函数
析构函数
(2)main()中调用fn(),使用了匿名对象的是
fn(2); 
    fn(P());
    fn(P(30,-30));
实现了强制转换的是fn(2);
(3)main()中fn(1,2)是错误的调用,因为该函数调用的参数个数是2个,没有定义这样的函数所以是错误的。
*/

⌨️ 快捷键说明

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