可以显示调用,不过只能用于初始化时。
假设有类A, 并有构造函数A(int,int);
在定义A的对象a时,可以显示调用构造函数,写作
A a=A(1,1);
但是更常用和更简洁的写法为
A a(1,1);
所以显示调用构造函数的方法并不常用,但C++的语法是支持这种写法的。
是不可以的,对象数组初始化的时候,只是用这种形式传递参数,并不是函数调用。
显示调用是指在程序中能找到相应的调用代码,隐式调用是指程序中找不到相应的调用代码。
具体来说就是看你自己写代码的时候有没有直接调用构造函数了
可以的!
Class a = Class(); //就是现实调用
定义临时变量的时候也是:
Class(); //创建一个临时变量
a.~Clalss(); //显示调用析构函数
你说我的显式是怎样的显式?
a.MyClass(1,2,3); //这是不对的,调用没有语法错误,但是不同编译器效果不一样
MyClass * a = new MyClass(1,2,3);//这种方式是可以的