64,649
社区成员
发帖
与我相关
我的任务
分享
class MyClassA
{
public:
MyClassA(OtherClass* obj);
}
//那么可以酱紫:
OtherClass* obj1;
MyClass myClass1(obj1);
//这是合法的
//还有这种写法
const OtherClass* obj2;
MyClass myClass1(obj2);
//但是怎么让这种写法不合法而必须写成这样子呢?
const MyClass myClass1(obj2);
const OtherClass* obj2;
MyClass myClass1(obj2);
//还有这种写法
const OtherClass* obj2;
MyClass myClass1(obj2);
这种写法能通过编译?你试过吗?
const MyClass myClass1(obj2);这样的写法是没办法限制const的,不过可以用函数调用的方法,比如
MyClass getMyClass(OtherClass* obj2);
const MyClass getMyClass(const OtherClass* obj2);
这样的接口来限定是否const