【发布时间】:2018-01-20 15:48:07
【问题描述】:
有没有办法(我怀疑它涉及继承和多态性)区分OBJ o, OBJ& o, const OBJ& o?我希望在 3 个不同的程序中使用相同的代码,并有相同的方法名调用不同的方法。
int main(){
try{
// try something
}catch(OBJ o){
o.doSomething(); // Do action 1
}
return 0;
}
int main(){
try{
// try something
}catch(OBJ& o){
o.doSomething(); // Do action 2
}
return 0;
}
int main(){
try{
// try something
}catch(const OBJ& o){
o.doSomething(); // Do action 3
}
return 0
}
【问题讨论】:
-
这没有多大意义。无论异常类型如何,第一个
catch子句将捕获它,或者三个都不会。对我来说看起来像 XY problem。 -
不,你有什么背景说明你为什么想要那个吗?
-
你们说的都对,我会在几分钟内澄清这个问题。
-
澄清了,你能再看看吗?
标签: c++ class polymorphism