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;
}
//输出后如何避免内存泄漏_________  
  1. 补全模板函数实现交换两个变量
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指向的值是_________
posted @ 2026-05-11 11:54  ForwardX10  阅读(8)  评论(0)    收藏  举报