3.14以下程序的运行结果是 #include<iostream> using namespace std; class B{ public: B(){} B(int i, int j) {x=i; y=j; void printb() } private: int x, y; }; class A{ public: A(){} A(int i, int j); void printa(); private:B c; }; A::A(int i, int j):c(i, j) {} void A::printa() {c. printb(); } int main() {A a(7, 8); a. printa(); return 0;}
时间: 2024-01-03 20:03:31 浏览: 92
使用include <iostream>时一定要加using namespace std
这段代码存在一些语法错误,无法通过编译。具体来说,类B中的printb函数声明缺少了大括号,应该改为:
```
void printb() {}
```
此外,在类A的构造函数A(int i, int j)中,缺少了对成员变量c的初始化。应该在构造函数的初始化列表中添加对c的初始化,改为:
```
A::A(int i, int j):c(i, j) {}
```
修改后的代码如下:
```
#include<iostream>
using namespace std;
class B{
public:
B() {}
B(int i, int j) { x=i; y=j; }
void printb() {}
private:
int x, y;
};
class A{
public:
A() {}
A(int i, int j):c(i, j) {}
void printa();
private:
B c;
};
void A::printa() {
c.printb();
}
int main(){
A a(7, 8);
a.printa();
return 0;
}
```
如果我们运行这段程序,它将输出空白。因为printb函数没有实现任何功能。
阅读全文