#include<iostream> using namespace std; class Base { public: Base(int i){a=i;} void add(int j){a=a+j;} void print(){cout<<"a="<<a<<endl;} private: int a; }; class Derived:public Base{ public: Derived(int i,int j):Base(i),b(j){} void print(){cout<<"b="<<b<<endl;} void func1(){add(10);} void func2(){Base::print();} private: int b; }; void main() { Base b(1); b.print(); Derived d(2,3); d.func1(); d.Base::print(); d.Derived::print(); d.func2(); }输出结果
时间: 2024-04-02 21:32:50 浏览: 27
输出结果应该是:
a=1
b=3
a=12
b=3
a=12
解释一下,第一行输出 a=1,即 Base 对象 b 中 a 的初始值;第二行输出 b=3,即 Derived 对象 d 中 b 的初始值;第三行输出 a=12,因为在调用 d.func1() 函数时,会调用 Base 类中的 add 函数,将 a 的值加上 10,因此输出 a=12;第四行输出 b=3,因为调用的是 Derived::print 函数,输出的是 b 的值;第五行输出 a=12,同样是调用 Base::print 函数输出 a 的值。
相关问题
补全程序,并写出程序运行结果。 #include <iostream> using namespace std; class Class { public : Class ( int...
补全程序如下:
```
#include <iostream>
using namespace std;
class Class {
public:
Class(int a, int b, int c) {
x = a;
y = b;
z = c;
}
void print() {
cout << "x: " << x << endl;
cout << "y: " << y << endl;
cout << "z: " << z << endl;
}
private:
int x;
int y;
int z;
};
int main() {
Class obj(1, 2, 3);
obj.print();
return 0;
}
```
程序运行结果为:
```
x: 1
y: 2
z: 3
```
程序定义了一个名为 Class 的类,该类包括有参构造函数和一个 print() 函数,构造函数用于对类的私有成员变量进行初始化,print() 函数用于输出类的私有成员变量。在主函数 main() 中,创建了一个名为 obj 的 Class 类对象,构造函数传入三个整数参数 1、2 和 3。最后调用 obj 对象的 print() 函数,输出 obj 对象的私有成员变量 x、y 和 z 的值。
#include <iostream> using namespace std; int main() {
这是一个C++程序,它的功能是输出一个n*n的矩阵,其中每个元素都是从n*n开始递减1的数字。下面是代码的解释:
```c++
#include <iostream> // 引入iostream库,用于输入输出
#include <iomanip> // 引入iomanip库,用于格式化输出
using namespace std; // 使用std命名空间
int main() { // 主函数
int n,i,k=0; // 定义整型变量n、、k,并初始化k为0
cin>>n; // 从标准输入中读取n的值
for(i=n*n;i>=1;i--) // 循环n*n次,从n*n开始递减1
{
cout<<setw(5)<<i; // 输出当前数字,setw(5)用于设置输出宽度为5
k++; // k加1
if(k%n==0) // 如果k是n的倍数,说明当前行已经输出完毕
cout<<endl; // 输出换行符
}
cout<<endl; // 输出一个额外的换行符
return 0; // 返回0,表示程序正常结束
}
```