有关下⾯C++代码的说法,错误的是( )。
#include <iostream>
#include <string>
using namespace std;
class MyStr {
string data;
public:
MyStr(string _data): data(_data) {}
};
int main() {
MyStr st("ABC");
cout << st << endl;
return 0;
}
有关下⾯C++代码的说法,正确的是( )。
#include <iostream>
using namespace std;
class ManyData {
int * __data;
int head, tail, capacity;
public:
ManyData(int cap) {
capacity = cap;
__data = new int[capacity];
head = tail = 0;
}
void push(int val) {
__data[tail++] = val;
}
int pop() {
return __data[--tail];
}
int size() {
return tail - head;
}
};
int main() {
auto myData = ManyData(100);
myData.push(1);
myData.push(2);
myData.push(3);
myData.push(100);
cout << myData.size() << end;
cout << myData.pop() << endl;
return 0;
}
有关下⾯C++代码的说法,错误的是( )。
#include <iostream>
using namespace std;
class MoreData {
int *__data;
int head, tail, capacity;
public:
MoreData(int cap) {
capacity = cap;
__data = new int[capacity];
had = tail = 0;
}
MoreData& push(int val) {
__data[tail++] = val;
return *this;
}
int pop() {
return __data[head++];
}
int size() {
return tail - head;
}
};
int main() {
auto myData = MoreData(100);
myData.push(1);
myData.push(2);
myData.push(3);
myData.push(11).push(12).push(13);
cout << myData.pop() << endl;
return 0;
}
青蛙每次能跳 1 或 2 步。下面是青蛙跳到第 N 步台阶 C++实现代码。该段代码采用的算法是( )。
int jumpFrog(int N) {
if (N <= 3)
return N;
return jumpFrog(N - 1) + jumpFrog(N - 2);
}