每日一练
代码每日练每日总结
赏一杯茶:
学无止境
展开
-
【每日一练】---- 3.07 3.08 3.09oj总结(继承、重载、多态、动态与静态绑定)
重载父类派生类成员函数 看如下代码,判断输出结果: class A { public: void test(int a) { cout << "1"; } }; class B :public A { public: void test(float b) { cout << "2"; } }; int main() { A* a = new A; B* b = new B; a = b; b->test(2); a->test(1.1); return.原创 2022-03-14 11:53:53 · 692 阅读 · 3 评论 -
【每日一练】---- 3.02 3.03 3.04oj总结(类知识点)
new与delete的功能 问题:为了让某个类只能通过new来创建(即如果直接创建对象,编译器将报错),应该() A. 将构造函数设为私有 B. 将析构函数设为私有 C. 将构造函数和析构函数均设为私有 D. 没有办法能做到 new一个对象时,本质是: 申请一块空间给这个对象 调用该对象的构造函数去初始化这块空间 显然若将构造函数设为私有则无法通过new来创建对象。 delete一个对象的本质是: 调用该对象的析构函数 回收分配给该对象的空间 那么将析构函数设为私有,有办法回收.原创 2022-03-09 13:25:08 · 947 阅读 · 0 评论 -
【每日一练】---- 2.28oj总结(类知识点较多)
内联函数 在C++编程中,我们常常定义一个函数去实现某种功能,比如: int min(int x , int y){ return x<y?x:y; } 调用函数前都要做很多工作:调用前要先保存寄存器,并在返回时恢复,复制实参,程序还必须转向一个新位置执行。 C++支持内联函数,其目的是为了提高函数的执行效率,用关键字 inline 放在函数定义(注意是定义而非声明)的前面即可将函数指定为内联函数,内联函数通常就是将它在程序中的每个调用点上“内联地”展开。 如下代码: inline int.原创 2022-03-03 15:44:38 · 460 阅读 · 3 评论 -
【每日一练】----1.22 oj总结
选择题: 执行下面语句后的输出为 int I=1; if(I<=0) printf("****\n") ; else printf("%%%%\n"); 考察转义字符,最后打印为“%%”。 编程题: 【不要二】二货小易有一个W*H的网格盒子,网格的行编号为0H-1,网格的列编号为0W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为:( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2)原创 2022-02-10 22:24:09 · 480 阅读 · 0 评论 -
【每日一练】----1.21 oj总结
初识动态规划 题目:一个数组有 N 个元素,求连续子数组的最大和。 例如:[-1,2,1],和最大的连续子数组为[2,1],其和为 3 输入描述: 输入为两行。 第一行一个整数n(1 <= n <= 100000),表示一共有n个元素 第二行为n个数,即每个元素,每个整数都在32位int范围内。以空格分隔。 输出描述:. 所有连续子数组中和最大的值 输入: 3 1 2 1 输出: 3 看了解题思路后发现是一道经典的动态规划类题目,解决动态规划类题目应注意好以下几点: dp数组中d原创 2022-02-10 21:18:40 · 201 阅读 · 0 评论 -
【每日一练】----1.20 oj总结
考点: 八进制的表示形式以0开头。十六进制的表示形式以0x开头。 考点 该程序的目的是求参数的二进制式中有多少个1. 一个十进制数转换为二进制数的方法。不断除以2并得出余数。从下至上将余数连起来。 考点: 求斐波那契递归调用次数。 不应从上向下求。应从下向上求。先求fib(2),fib(3)…。 ...原创 2022-01-23 19:50:17 · 289 阅读 · 0 评论 -
【每日一练】----1.19 oj总结
考点: 大小端的概念,数据在大端机器和小端机器的存储方式 函数栈帧的调用 输出格式对输出结果的影响 解 在大端机器下,将低位放置在高地址处。int i = 1的存储在大端机器下即0x00000001;在小端及旗下,将低位放置在低地址处,即int i =1的存储为0x01000000。 调用函数时会建立函数栈帧,参数按从右向左的顺序依次入栈,即a在栈顶,c在栈底。在小端机器的情况下,函数栈帧的数据如下:0x0100000000000000 0x0200000000000000 0x030000000.原创 2022-01-22 19:14:39 · 236 阅读 · 0 评论 -
【每日一练】----1.18 oj总结
常量指针与常量对象。 1.const放在号的左侧,代表该指针变量指向的数据不能通过解引用该指针变量修改。 2.const放在号的右侧,代表该指针变量不可被修改。 int a = 10; const int*p = &a; *p = 20;//错误的 int b = 10; int* const pb =&b; pb = &a; //错误的 位段的概念 unsigned a申请了4个字节,但是只用了19个比特位,余下13个比特位,b只用11个比特位,刚好补充a的剩余。c.原创 2022-01-21 22:30:08 · 484 阅读 · 0 评论