
补充:
刚才试了一下,你说的正确,应该是 C) const
class A {
void f() {}
const void f() const {}
};
const是可以区分重载函数的多态是C++最基本,最重要的特性之一,
函数重载是多态性的形式之一
函数模板是写一次代码,就要以应用到各种类型
函数重载是函数名相同而参数不同的两个函数
这些东西你不看书,指望在这儿问一句就会了1、不清楚你想问什么,重载函数是靠编译器在编译阶段选择函数版本,也就是说在运行时其实只有一个函数版本被你调用,你这里用f,这不是函数调用啊,调用函数怎么能省()呢,也就是说只取函数的地址,可是由于你没有提供实参,编译阶段应该没有选择版本,所以取两个名字同为f的函数的地址当然报错
2、如果类对象是const型,那么对象只能调用由const来修饰的成员函数,反过来说,你把A a;
改成const A a; 就ok了
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)