c++
C++是一门强大的面向对象编程语言,由C语言发展而来,”++“意为更进一步发展,C++充分吸收了C语言的优点,同时汲取了面向对象的编程思想,其后拥有STL库的强大支撑,具有封装、继承、多态三大特性,常以高效能著称。
-
已知类IMS中两个成员函数的声明为 void listen()const; 与 void speak(); ,另有两个对象的定义为 IMS obj1; 与 const IMS obj2; ,则下列语句中,产生编译错误的是()。
-
某类中有一个无参且无返回值的常成员函数Show,则正确的Show函数原型是()。
-
有如下程序,运行时的输出结果是()。#include<iostream> using namespace std; class A { public: A(int i=0):r1(i){} void print(){cout<<"E"<<r1*r1<<":";} void print() const {cout<<"C"<<r1*r1<<":";} void print(int x){cout<<"P"<<r1*r1*r1<<":";} private: int r1; }; nt main(){ A a1; const A a2(4); a1.print(2); a2.print(); return 0; }
-
有如下程序,运行时的输出结果是()。 #include<iostream> using namespace std; class A { public: A(int i): r1(i) {} void print() {cout<<"E"<<r1*r1<<":";} void print() const {cout<<"C"<<r1*r1<<":";} private: int r1; }; i nt main(){ A a1(2); const A a2(4); a1.print(); a2.print(); return 0; }
-
有如下类定义和变量定义,下列函数调用中错误的是()。class A{ public: A() { data=0;} ~A() {} int GetData() const { return data;} void SetData(int n) { data=n; } private: int data; }; const A a; A b;
-
有如下程序,其主函数中错误的语句是()。 #include<iostream> using namespace std; class MyClass{ public: MyClass(int x): val(x){} void SetInt x){val=x;} void Print()const{cout<<"val="<<val<<'\t';} private: int val; }; int main(){ const MyClass obj1(10); MyClass obj2(20); obj1.Print(); //语句1 obj2.Print(); //语句2 obj1.Set(20); //语句3 obj2.Set(20); //语句4 return 0; }
-
有如下程序,运行时的输出结果是()。 #include<iostream> using namespace std; class VAC{ public: int f() const { return 3;} int f() {return 5;} }; int main(){ VAC v1; const VAC v2; cout<<v1.f()<<v2.f(); return 0; }
-
有如下程序,若程序的输出结果是123,则程序中下划线处遗漏的语句是()。 #include<iostream> using namespace std; class Fun{ public: static int i; int value(){ return i-1;} int value()const{ return i+1;} }; int Fun::i=2; int main(){ int i=3; Fun fun1; const Fun fun2; ________; return 0; }
-
已知类Myclass的定义如下,其中有编译错误的函数是()。cpp class MyClass{ public: void function1(MyClass &c){cout<<c.data;} static void function2(MyClass &c){cout<<c.data;} void function3(){cout<<data;} static void function4(){ cout<<data; } private: int data; };
-
有如下定义,上述程序段中,错误的语句是()。 cpp class Sample{ public: Sample(int x): ref(x) {} //① private: Sample():ref(0) {} //② static int val=5; //③ const int ref; //④ };
-
若AA为一个类,a为该类的非静态数据成员,在该类的一个成员函数定义中访问a时,其书写格式为()。
-
有如下类和对象的定义,下列各组语句中,能输出3.1416的是()。class Constants{ public: static double getPI(){return 3.1416;} }; Constants constants;
-
有如下定义,要初始化Point类的静态成员how_many,下划线处应填入的内容是()。class Point{ private: static int how_many; }; ______ how_many=0;
-
有如下程序,程序的输出结果是()。#include<iostream> using namespace std; class MyClass{ public: MyClass(){++count;} ~MyClass(){--count;} static int getCount(){return count;} private: static int count; }; int MyClass::count=0; int main(){ MyClass obj; cout<<obj.getCount(); MyClass*ptr=new MyClass; cout<<MyClass::getCount(); delete ptr; cout<<MyClass::getCount(); return 0; }
-
有如下程序,程序的输出结果是()。#include<iostream> using namespace std; class Obj{ static int i; public: Obj(){i++;} ~Obj(){i--;} static int getVal() {return i;} }; int Obj::i=0; void f(){Obj ob2;cout<<ob2.getVal();} int main(){ Obj ob1; f(); Obj *ob3=new Obj;cout<<ob3->getVal(); delete ob3;cout<<Obj::getVal(); return 0; }
-
下列程序段中包含4个函数,其中具有隐含this指针的是()。int fun1(); class Test{ public: int fun2(); friend int fun3(); static int fun4(); };
-
已知类Amount的定义及程序段(运算符+=重载),已知程序的运行结果是10,则下划线处缺失的表达式是
-
已知类Base、Derived的定义,x是一个Derived对象,则下列表达式中正确的是
-
已知函数f的原型是void f(int*a, long &b);,变量v1、v2的定义是int v1; long v2;,下列调用语句中正确的是
-
下列有关类成员的叙述中,正确的是