笔试强训第九天--走方格的方案数--另类加法

 选择

笔试强训第九天--走方格的方案数--另类加法_第1张图片

 A

 笔试强训第九天--走方格的方案数--另类加法_第2张图片

 A

申请了5个对象的空间,所以构造调用5次,但只析构了一次,应该用delete[] pclassa

申请空间malloc/calloc/realloc--->free

new--->delete

new[]->delete[]

 笔试强训第九天--走方格的方案数--另类加法_第3张图片

B

 笔试强训第九天--走方格的方案数--另类加法_第4张图片

D

静态成员变量:所有对象所共有的,并不属于具体的某个对象。

在类中声明(带static),类外面定义(不带static)。

静态成员变量一定不能在初始化列表初始化。

在类外访问静态成员变量时:

对象.静态成员  或者 类名::静态成员

笔试强训第九天--走方格的方案数--另类加法_第5张图片

 A

 笔试强训第九天--走方格的方案数--另类加法_第6张图片

 C

一元运算符:该操作符只需要一个参数比如,++ --

前置++         A& operator++()

后置++         A operator++(int)

笔试强训第九天--走方格的方案数--另类加法_第7张图片

B

obj1 obj2 调用构造

obj3调用拷贝构造

return 0 函数结束->释放对象->调用析构

笔试强训第九天--走方格的方案数--另类加法_第8张图片

D

A const修饰的静态成员变量可以在类内初始化。

class A
{
private:
    const static int _b=10;
}

笔试强训第九天--走方格的方案数--另类加法_第9张图片

 B

类的指针不会调用析构函数。类的成员会调用析构函数。

假设A类的构造函数是私有的,在类外,A*pa=new A;

new原理:1、申请空间 2、调用构造函数进行初始化(×) 即不能在类外面创建对象

delete原理:1、调用函数的析构函数(×)。2、释放空间。

需要给A的共有成员函数中添加一个函数

void Release(A*&p)

{        delete p;

}

笔试强训第九天--走方格的方案数--另类加法_第10张图片

B

template

template

template

template

编程

走方格的方案数

走方格的方案数_牛客题霸_牛客网

 思路:动态规划,当前位置只能由当前行的前一个位置或者上一行的同列位置过来

#include 
#include 
using namespace std;

int main()
{
    //m行 n列
    int n,m;
    cin>>n>>m;
    vector>dp(m+1,vector(n+1,0));
    for(int i=0;i

另类加法

笔试强训第九天--走方格的方案数--另类加法_第11张图片

class UnusualAdd {
public:
//以二进制1+3为例
//0000 0001
//0000 0011
//不考虑进位时,二者相加后的数应该为  0000 0010
//进位的值应该是 0000 0001<<1 
//然后二者再相加 0000 0010   0000 0010
//不考虑进位时 应该为 0000 0000
//进位的值应该是 0000 0010<<1
//在加就是+0了
    int addAB(int A, int B) 
    {
        if(A==0) return B;
        if(B==0) return A;
        int a=A^B;//这里计算的是不考虑进位时的值
        int b=(A&B)<<1;//这里计算的是进位的值
        return addAB(a,b);
    }
};

你可能感兴趣的:(笔试强训,c++,算法)