首页 > 试题广场 >

以下程序的运行结果是() #include usi

[单选题]
以下程序的运行结果是()
#include<iostream>
using namespace std;
class B
{
public:
    B() {}
    B(int i,int j)
    {
        x=i;
        y=j;
    }
    void printb()
    {
        cout<<x<<","<<y<<endl;
    }
    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;
}
  • 8,9
  • 7,8
  • 5,6
  • 9,10
#include "iostream"
using namespace std;
class B {
public :
    B(){}
    B(int i,int j)
    {
         x = i;
         y = j;
    }
    
    void printb()
    {
        cout << x << "," << y << endl;
    }
private:
        int x, y;
};
class A {
public:
    A(){}
    A(int I, int j);//类中声明,类外定义
    void printa();
private:
    B c;  //c为B的对象,同时作为A的成员变量
};
A::A(int i,int j):c(i,j) //类外定义,重载A的构造方法
{
}
void A::printa()
{
    c.printb();
}
int main()
{ 
    A a(7, 8);//这里用类A重载后的构造函数初始化对象a,  调用A::A(int i,int j):c(i,j)之后,实质上是用了b重载的构造函数进行了初始化对象c,因为c是B的对象
    a.printa();  //经过上一个语句后x =7,y = 8,然后执行a.printa(); 用c.printb() 打印出x,y的值  
    return 0;
}

发表于 2018-12-11 13:11:14 回复(0)
谁能告诉我这道题目的考点?
不管是怎样的结果,里面没有++,--这样的操作,输出的值怎么着都不会变啊
发表于 2018-05-30 15:23:05 回复(2)
这道题我真是看了半天,想了好久,看它有什么坑,谁知道←_←就是这种水题
发表于 2018-07-03 21:22:51 回复(2)
这题,除了长一点,还有什么意义吗←_←
发表于 2020-09-18 20:11:20 回复(0)
一波操作猛如虎,却是单纯传传值~
发表于 2021-04-22 15:03:58 回复(0)
写出这种程序的人是不是应该开除?
发表于 2019-05-28 22:08:55 回复(1)