c++
C++是一门强大的面向对象编程语言,由C语言发展而来,”++“意为更进一步发展,C++充分吸收了C语言的优点,同时汲取了面向对象的编程思想,其后拥有STL库的强大支撑,具有封装、继承、多态三大特性,常以高效能著称。
-
下面程序的运行结果是()。#include<iostream> using namespace std; class TestClass { static int n; public: TestClass() { n++; } static int test() { for(int i=0;i<4;i++)n++; return n; } }; int TestClass::n=0; int main() { cout<<TestClass::test()<<" "; TestClass c1,c2; cout<<TestClass::test()<<endl; return 0; }
-
下面程序的输出结果为()。#include<iostream.h> class TestClass { public: TestClass(){val++;}; static int val; }; int TestClass::val=0; void main() { TestClass cs1; cout<<cs1.val<<""; TestClass cs2; TestClass cs3,cs4; cout<<cs2.val<<endl; }
-
以下程序的执行结果是()。#include<iostream.h> class TestClass2 { public: TestClass2(){}; TestClass2(int i,int j); void printb(); private: int a,b; }; class TestClass1 { public: TestClass1(){} TestClass1(int i,int j); void printa(); private: TestClass2 c; }; TestClass1::TestClass1(int i,int j):c(i,j) {} void TestClass1::printa() { c.printb(); } TestClass2::TestClass2(int i,int j) { a=i; b=j; } void TestClass2::printb() { cout<<"a="<<a<<" "<<"b="<<b<<endl; } void main() { TestClass1 m(7,9); m.printa(); }
-
下列关于函数重载的叙述中,错误的是()。
-
已知函数fun的原型为 int fun(int,int,int); ,下列重载函数原型中错误的是()。
-
对C++编译器区分重载函数无任何意义的信息是()。
-
若已经声明了函数原型 void fun(int a,double b=0.0); ,则下列重载函数声明中正确的是()。
-
有如下程序,程序的输出结果是()。#include<iostream> using namespace std; class MyClass{ public: MyClass(int x):val(x) {} void Print()const {cout<<"const:val="<<val<<'\t';} void Print(){cout<<"val="<<val<<'\t';} private: int val; }; int main(){ const MyClass obj1(10); MyClass obj2(20); obj1.Print(); obj2.Print(); return 0; }
-
关于函数重载,下列叙述中错误的是()。
-
下面是重载为非成员函数的运算符函数原型,其中错误的是()。
-
有如下程序,执行后的输出结果是()。#include<iostream> using namespace std; class AA{ int n; public: AA(int k):n(k){} int get(){return n;} int get()const{return n+1;} }; int main() { AA a(5); const AA b(6); cout<<a.get()<<b.get(); return 0; }
-
有如下程序,运行这个程序的输出结果是()。#include<iostream> using namespace std; void f1(int& x) {x++;} void f2(int x) {x++;} int main() { int x=10,y=12; f1(x); f2(y); cout<<x+y<<endl; return 0; }
-
已知函数f的原型是 void f(int*x,int&y); ,变量v1、v2的定义是 int v1,v2; ,下列调用语句中,正确的是()。
-
有如下程序,运行时的输出结果是()。#include <iostream> using namespace std; void f1(int& x,int& y){int z=x;x=y;y=z;} void f2(int x,int y){int z=x;x=y;y=z;} int main() { int x=10,y=26; f1(x,y); f2(x,y); cout<<y<<endl; return 0; }
-
下列关于函数参数的叙述中,正确的是()。
-
在下列原型所示的C++函数中,按“传值”方式传递参数的是()。
-
已知函数f的原型是 void f(int*a,long&b); ,变量v1、v2的定义是: int v1;long v2; ,下列调用语句中正确的是()。
-
有如下函数定义: void func(int a,int&b){a++;b++;} ,若执行代码段: int x=0,y=1;func(x,y); ,则变量x和y的值分别是()
-
有如下程序,编译运行这个程序将出现的情况是()。#include<iostream> using namespace std; int main() { void function(double val); double val; function(val); cout<<val; return 0; } void function(double val) { val =3; }
-
有如下程序,执行后的输出结果是()。#include<iostream> void fun(int&x,int y){int t=x;x=y;y=t;} int main() { int a[2]={23,42}; fun(a[1],a[0]); std::cout<<a[0]<<","<<a[1]<<std::endl; return 0; }