单选题
有如下程序:
#include<iostream>
using namespace std;
class Bag{
public:
Bag(int p, char s="M"):price(p), size(s) {}
void Show(){cout<<price<<"-"<<size<<""; }
______{cout<<price<<"*"<<size<<"";}
private:
int price;
char size;
};
int main(){
Bag Black(150, "S");
const Bag White(300, "L");
Black.Show();
White.Show();
return 0;
}
若运行时的输出结果为“150-S 300*L”,则划线处缺失的部分是______。
【正确答案】
A
【答案解析】[解析] Black与White两个对象都调用Show函数,输出的结果中除了成员变量的值不同,还有符号也不相同:一个是"-",一个是"*",可知划线处肯定是Show的重载函数;另外Black对象与White对象唯一的不同之处在于Black对象是普通对象,而White对象是const修饰的常量对象,所以常量对象调用的成员函数Show,一定是const修饰的常函数,即void Show()const,答案为A选项。