C++笔试题1
C++笔试题(第1套)
时间:20分钟 总分:100分
姓名: 分数:
int main() {
int a = 5;
int* p = &a;
int& r = a;
(*p)++;
r++;
cout << a;
}
//如上输出_________
class Base {
public:
virtual void print() { cout << "Base"; }
};
class Derived : public Base {
public:
void print() override { cout << "Derived"; }
};
int main() {
Base* obj = new Derived();
obj->print();
delete obj;
}
//如上输出_________
class Test {
public:
Test() { cout << "A"; }
~Test() { cout << "B"; }
};
int main() {
Test t1;
{ Test t2; }
cout << "C";
}
//如上输出_________
vector<int> v = {1, 2, 3};
v.push_back(4);
v.erase(v.begin());
v.insert(v.begin() + 1, 5);
//此时v的内容是_________
int* func() {
int* p = new int(10);
return p;
}
int main() {
int* q = func();
cout << *q;
}
//输出后如何避免内存泄漏_________
- 补全模板函数实现交换两个变量
template <typename T>
void Swap(________ a, ________ b) {
T temp = a;
a = b;
b = temp;
}
vector<int> v = {3, 1, 4, 2};
sort(v.begin(), v.end(), [](int a, int b) {
return a > b;
});
//排序后v的内容是_________
string s1 = "Hello";
string s2 = move(s1);
cout << s1; // 输出_________
void foo() throw(int) {
throw 3.14; // 会发生_________
}
int main() {
try { foo(); }
catch (int e) { cout << e; }
}
shared_ptr<int> p1(new int(10));
shared_ptr<int> p2 = p1;
p1.reset(new int(20));
//p2指向的值是_________
浙公网安备 33010602011771号