1. 请写出下列程序的输出结果。
#include <iostream.h>
class Test{
public:
Test(int x=0):val(x) { cout<<"Cons "<<val<<endl; }
Test(const Test &p) { val=p.val; cout<<"Copy "<<val<<endl; }
friend Test operator + (Test &t1,Test &t2);
private:
int val;
};
Test operator + (Test &t1,Test &t2) {
Test temp(t1.val+t2.val);
return temp;
}
int main() {
Test A(1),B(3);
Test C;
C=A+B;
return 0;
(8 分)
7
}
2. 请写出下列程序的输出结果。
#include <iostream.h>
class Base {
public:
void f() { cout<<"fB"<<endl; }
virtual void g() { cout<<"gB"<<endl; }
};
class Derived : public Base {
public:
void f() { cout<<"fD"<<endl; }
virtual void g() { cout<<"gD"<<endl; }
};
int main() {
Base *p=new Derived;
p->f();
p->g();
return 0;
}
(6 分)
8
3. 请写出下列程序的输出结果。
#include <iostream.h>
class Base{
public:
Base() { cout<<"Base"<<endl; }
~Base() { cout<<"~Base"<<endl; }
};
class Base1 : virtual public Base{
public:
Base1() { cout<<"Base1"<<endl; }
~Base1() { cout<<"~Base1"<<endl; }
};
class Base2 : virtual public Base{
public:
Base2() { cout<<"Base2"<<endl; }
~Base2() { cout<<"~Base2"<<endl; }
};
class Derived : public Base1, public Base2 {
public:
(10 分)
9
Derived() { cout<<"Derived "<<endl; }
~Derived() { cout<<"~Derived"<<endl; }
private:
Base b;
};
int main() {
Derived d;
return 0;
}
4. 请写出下列程序的输出结果 。
#include <iostream.h>
class A {
public:
A(int i):r1(i){ cout<<r1<<endl; }
~A(){ cout<<'~'<<r1<<endl; }
void print(){cout<<"Empty:"<<r1<<endl;}
void print() const {cout<<"Const:"<<r1<<endl;}
void print(int x){cout<<"Param:"<<x*x<<endl;}
private:
int r1;
};
int main() {
A a1(1),a2(2);
a1.print();
(8 分)
10
a2.print(3);
return 0;
}
11
我要是能运行不就好了,win8系统
求第七题解答方法,c++ 问题是程序输出的第一,二,三行分别是?
经过if判断满足条件,输出全局::a即12;然后返回第二层递归执行 ::a+=a;此时第二层的a=3,所以:a=12+3=15,输出全局::a即15;然后返回第一层递归执行 ::a+=a;此时第二层的a=5,所以:a=15+5=20,输出全局::a即20;所以第一个f(6)调用输出了3次::a,分别为12,15,20 类似可推出f(4...
C++求运行结果,详细解答,符号也不清楚什么意思,还有进制
a&=b; 意思是a=a&b,就是a与b按位相与,把值赋个a,这里a是十六进制的2a,即10进制的42 a=2 接下来a^=a ,意思是a=a^a,即a与a按位异或 a=0 i=-8 ,j=2 -8十六进制表示是fffffff8,可以转换为2进制,然后右移2位,得到:i=-2 i|=-j^j; 意思是i = i|(~j ^j),先把j...
C++程序,为什么输出结果是这个??结果小数点后面为什么要四舍五入...
cout默认输出数字时的有效位数为六位,所以就变成这个样子了,如果想改变cout的输出有效位,就要用setprecision(n);如cout<<setprecision(7)<<count(a1)<<","<<count(a2)<<endl;而且要包含头文件:include<iomanip> 希望能帮到你。
求C++程序输出结果
int i(1),a(0);for(;i<=5;i++){ do { i++;a++;}while(i<3);i++;} cout<<a<<","<<i<<endl;for开始循环 i=1,a=0(初始化结果)进入do-while循环 直到i=3,a=2 推出do-while循环,继续 遇到i++, i=4,for循环i++ --> i=5 继续循环 进入do-while循环 i=6,...
C++输出问题。为什么下面程序的输出结果为*8992*8992*8992$。而不是所...
cout << ‘# ’ ;此语句有问题,将#后空位去掉即好
c++问题,求结果和详细解答!!
--i); \/\/这个时候的i要再减1,等于8一次循环的结束 i从10到8 说明每次循环i都减少2程序运行的次数是I的值除以2 :10\/2=5次,说明程序执行了5次,第5次i的值为零 while循环 如果遇到0,条件为假就退出循环 程序执行了5次,num 总共加了5次 所以最后输出num 的时候是5 ...
求c++:源程序。前20项斐波那契数列 ,要求输出的时候每行输出五个
解答过程如图所示:工作原理:C++语言的程序因为要体现高性能,所以都是编译型的。但其开发环境,为了方便测试,将调试环境做成解释型的。即开发过程中,以解释型的逐条语句执行方式来进行调试,以编译型的脱离开发环境而启动运行的方式来生成程序最终的执行代码。
C++问题求解答
你的答案是错的 第一题,p,q是指针,开始的时候p指向j,q指向k,然后p=q也就是p指向了q指向的内存,也就是说p和q这时都指向了q指向的k,然后(*p)++是p指向的数值加1,也就是k+1.所以输出的*q和*p是相同的,也就是k的值,也就是2 所以应该选B 第二题,先看B,字符串是不能直接...
求大神解答c++,这个程序最后输出的a值是多少啊
此时b%3的值为1,则b的值加3即b=4,本次循环结束,a的值加1即a=2 第二次循环,b%3的值为1,则b的值加3即b=7,本次循环结束,a的值加1即a=3 第三次循环,b%3的值为1,则b的值加3即b=10,本次循环结束,a的值加1即a=4 第四次循环,b>=10退出循环 所以a的值为4 ...
求C++的大佬来解答,一个比大小的程序。
\/\/ 输出比较结果 printf("%c\\n", result);return 0;} 程序首先从控制台中获取用户输入的四个整数(a1、a2、b1和b2),然后使用一系列的条件判断语句来比较两组牌的大小,最终将比较结果存储在变量result中。具体地,根据题目给出的牌面大小规则依次比较两组牌的大小,并按照题目要求输出比较结果。假...