《程序设计基础二》理论复习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《程序设计基础二》理论复习题
一、单选题
1、下列关于类和对象的叙述中,错误的是()。

A、一个类只能有一个对象
B、对象是类的具体实例
C、类是对某一类对象的抽象
D、类和对象的关系是一种数据类型与变量的关系
2、在 C++中,用于实现运行时多态性的是()。

A、内联函数
B、重载函数
C、模板函数
D、虚函数
3、下列关于运算符重载的叙述中,正确的是()。

A、通过运算符重载,可以定义新的运算符
B、有的运算符只能作为成员函数重载
C、若重载运算符 +,则相应的运算符函数名是+
D、重载二元运算符时,必须声明两个形参
4、对于语句cout<<x<<endl; 错误的是描述是()。

A、“cout ”是一个输出流对象
B、“endl ”的作用是输出回车换行
C、“x”是一个变量
D、“<<”称作提取运算符
5、有如下类声明,则类MyDERIVED中保护的数据成员和成员函数的一共有几个?()。

class MyBASE
{
private:
int k;
public:
void set(int n){ k=n;}
int get( )const{ return k;}
};
class MyDERIVED: protected MyBASE
{
protected:
int j;
public:
void set(int m, int n){ MyBASE::set(m); j=n;}
int get( ) const { return MyBASE::get( )+j; }
};
A、4
B、3
C、2
D、1
6、执行如下的程序段后,输出结果是()。

cout.fill('*'); cout.width(6); cout.fill('#'); cout << 123 << endl;
A、###123
B、123###
C、***123
D、123***
7、在下列函数原型中,可以作为类AA构造函数的是()。

A、void AA(int);
B、int AA();
C、AA(int)const;
D、AA(int);
8、下面四个选项中,()是用来声明虚函数的。

A、virtual
B、public
C、include
D、using namespace
9、实现运行时的多态性要使用()。

A、重载函数
B、构造函数
C、析构函数
D、虚函数
10、要实现动态联编,必须通过()调用虚函数。

A、对象指针
B、成员名限定
C、对象名
D、派生类名
11、以下()成员函数表示纯虚函数。

A、virtual int vf(int);
B、void vf(int)=0;
C、virtual void vf()=0;
D、virtual void vf(int){}
12、有如下类声明:class XA
{ private: int x;
public: XA(int n){ x=n;} };
class XB: public XA
{ private: int y;
public: XB(int a,int b); };
在构造函数XB的下列定义中,正确的是()。

A、XB::XB(int a,int b): x(a),y(b){ }
B、XB::XB(int a,int b): XA(a),y(b){ }
C、XB::XB(int a,int b): x(a),XB(b){ }
D、XB::XB(int a,int b): XA(a),XB(b){ }
13、在表达式x+y*z中, +是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。

则 operator+有()个参数, operator*
有()参数。

()
A、2、2
B、2、1
C、1、2
D、1、1
14、类的析构函数的作用是()。

A、作为类的一般成员函数
B、类的初始化
C、对象的初始化
D、对象的删除
15、一个类的友元函数或友元类可以访问该类的()。

A、私有成员
B、保护成员
C、公有成员
D、所有成员
16、下列对派生类的描述中,()是错误的。

A、一个派生类可以作为另一个派生类的基类
B、派生类至少有一个基类
C、派生类的成员除了它自己的成员外, 还包含了它的基类的成员
D、派生类中继承的基类成员的访问权限到派生类中保持不变
17、下列的描述中,()是错误的。

A、公有继承时基类中的public成员在派生类中仍是public的
B、公有继承时基类中的private成员在派生类中仍是private的
C、公有继承时基类中的protected成员在派生类中仍是protected的
D、私有继承时基类中的public成员在派生类中仍是private的
18、下列虚基类的声明中正确的是()。

A、class virtual B: public A
B、virtual class B: public A
C、 class B: public A virtual
D、class B: virtual public A
19、若类A和类B的定义如下:
class A
int i, j;
public:
A(int m, int n): i(m), j(n) {}
int Geti() { return i;}
};
class B: public A
{
int k;
public:
B(int m, int n, int u): A(m, n), k(u) {}
void Make() { k = i * j; }
};
int main()
{
B b(1, 2, 3);
return 0;
}
则上述定义中,()是非法的表达式.
A、 k=i*j;
B、int k;
C、return i;
D、void Make( )
20、若有以下程序:
#include <iostream>
using namespace std;
class A
{
public:
int a;
A() { a =10; }
};
class A1: public A1.
{
public:
A1() { a = a + 1; } \
};
class A2: public A
{
public:
A2() { a = a + 2; }
};
class B: public A1, public A2
{
public:
B() {}
void Print() { cout << a << endl; }
};
int main()
{
B obj;
obj.Print();
return 0;
}
则程序运行后的输出结果为:()
A、产生语法错误
B、13
C、12
D、10
21、在下面的4个关键字中,()是用来说明虚函数的。

A、virtual
B、public
C、protected
D、private
22、如果一个类至少有一个纯虚函数, 那么该类称为()。

A、抽象类
B、虚基类
C、派生类
D、以上都不对
23、cin是某个类的标准对象,该类是()。

A、ostream
B、istream
C、stdout
D、stdin
24、调用一个成员函数时,使用动态联编的情况是()。

A、通过对象调用一虚函数
B、通过指针或引用调用一虚函数
C、通过对象调用一静态函数
D、通过指针或引用调用一静态函数
25、假定CTest为一个类,并且有一无默认值的有参构造函数和一无参构造函数,则执行“CTest objTest;”语句时将自动调用该类的()。

A、有参构造函数
B、无参构造函数
C、拷贝构造函数
D、赋值重载函数
26、下列对类的构造函数和析构函数描述正确的是()。

A、构造函数可以重载,析构函数不能重载
B、构造函数不能重载,析构函数可以重载
C、构造函数可以重载,析构函数可以重载
D、构造函数不能重载,析构函数不能重载
27、下面有关重载函数的说明中,()是正确的。

A、重载函数必须具有不同的返回值类型
B、重载函数形参个数必须不同
C、重载函数一般具有不同的形参列表
D、重载函数名可以不同
28、下列有关类与对象的说法中,()是不正确的。

A、对象是类的一个实列
B、任何一个对象只能属于一个具体的类
C、一个类只能有一个对象
D、类和对象的关糸和数椐类型与变量的关糸类似
29、已知: Print( )函数是一个类的常成员函数,它无返回值,下列表示中,正确的是()。

30、假定Myclass为一个类,那么下列的函数说明中()为该类的析构函数。

A、void ~Myclass( );
B、~Myclass( int n)
C、Myclass( );
D、~Myclass( )
31、下面类的定义中有()处错误。

class myclass
{
int i=0;
public:
void myclass( );
~myclass(value);
}
A、1
B、2
C、3
D、4
32、说明虚函数的关键字是()。

A、 inline
B、virtual
C、define
D、static
33、cout是某个类的标准对象的引用,该类是()。

A. ostream
B. istream
C. stdout
D. stdin
34、定义类模板时要使用关键字()。

A、const
B、 new
C、delete
D、template
35、一个类的所有对象共享的是()。

A、私有数据成员
B、公有数据成员
C、保护数据成员
D、静态数据成员
36、静态成员函数没有()。

A、返回值
B、this指针
C、指针参数
D、返回类型
37、解决多重继承中二义性问题的方法有()。

A、只能使用作用域分辨操作符
B、使用作用域分辨操作符或赋值兼容规则
C、使用作用域分辨操作符或虚基类
D、使用虚基类或赋值兼容规则
38、如果在类CTest的外面的非成员函数中采用CTest::f()形式函数调用;则函数f( )是类CTest的()。

A、静态成员函数
B、非静态成员函数
C、友元函数
D、前面都不正确
39、面向对象程序设计思想的主要特征中不包括()。

A、封装性
B、多态性
C、继承性
D、功能分解,逐步求精
40、下列有关C++类的说法中,不正确的是()。

A、类是一种用户自定义的数据类型
B、只有类中的成员函数或类的友元函数才能存取类中的私有成员
C、在类中,如果不做特别说明,所有成员的访问权限均为私有的
D、在类中,如果不做特别说明,所有成员的访问权限均为公用的
41、已知X类,则当程序执行到语句:X array[3];时,调用了()次构造函数。

A、0
B、1
C、2
D、3
42、下面说法中,正确的是()
A、一个类只能定义一个构造函数,但可以定义多个析构函数
B、一个类只能定义一个析构函数,但可以定义多个构造函数
C、构造函数与析构函数同名,只要名字前加了一个求反符号(~)
D、构造函数可以指定返回类型,而析构函数不能指定任何返回类型,即使是void类型也不可以
43、已知:print( )函数是一个类的常成员函数,它无返回值,下列表示中,()是正确的。

A、 void print( ) const;
B、 const void print( );
C、 void const print( );
D、 void print(const);
44、下面描述中,表达错误的是()。

A、公用继承时基类中的public成员在派生类中仍是public的
B、公用继承时基类中的private成员在派生类中仍是private的
C、公用继承时基类中的protected成员在派生类中仍是protected的
D、私有继承时基类中的public成员在派生类中是private的
45、下面()的叙述不符合赋值兼容规则。

A、派生类的对象可以赋值给基类的对象
B、基类的对象可以赋值给派生类的对象
C、派生类的对象可以初始化基类的对象
D、派生类的对象的地址可以赋值给指向基类的指针
46、关于虚函数的描述中,()是正确的。

A、虚函数是一个static类型的成员函数
B、虚函数是一个非成员函数
C、基类中说明了虚函数后,派生类中与其对应的函数可不必说明为虚函数
D、派生类的虚函数与基类的虚函数具有不同的参数个数和类型
47、下面关于友元的描述中,错误的是()。

A、友元函数可以访问该类的私有数据成员
B、一个类的友元类中的成员函数都是这个类的友元函数
C、友元可以提高程序的运行效率
D、类与类之间的友元关系可以继承
48、下列关于静态数据成员的说法,正确的是()。

A、类中定义的公用静态数据成员,可以通过类的对象来访问
B、类中定义的所有静态数据成员,都必须在类外初始化
C、静态数据成员不是所有对象所共用的
D、普通的成员函数可以直接访问类中的静态数据成员
49、如果表达式++i*k中的“++”和“*”都是重载的友元运算符,若采用运算符函数调用格式,则表达式还可以表示为()。

A、operator*(i.operator++(),k)
B、operator*(operator++(i),k)
C、i.operator++().operator*(k)
D、 k.operator*(operator++(i))
50、下列的各类函数中,()不是类的成员函数
A、构造函数
B、析构函数
C、友元函数
D、复制构造函数
51、说明虚函数的关键字是()。

A、 inline
B、 virtual
C、 define
D、static
A、简化程序
B、消除二义性
C、提高运行效率
D、减少目标代码
53、cout是某个类的标准对象的引用,该类是()。

A. ostream
B. istream
C.stdout
D. stdin
54、如果在类外有函数调用CPoint::func();则函数func()是类CPoint的()。

A、私有静态成员函数
B、公有非静态成员函数
C、公有静态成员函数 B、友元函数
55、如果class类中的所有成员在定义时都没有使用关键字public、private或protected,则所有成员缺省定义为()。

A、 public
B、protected
C、 private
D、 static
56、一个类的所有对象共享的是()。

A、私有数据成员
B、公有数据成员
C、保护数据成员
D、静态数据成员
57、动态联编所支持的多态性称为()。

A、虚函数
B、继承
C、编译时多态性
D、运行时多态性
58、定义类模板时要使用关键字()。

A、const
B、new
C、delete
D、template
59、对虚基类的定义()。

A、不需要使用虚函数
B、必须使用虚函数
C、必须使用privat
D、必须使用public
60、类型转换函数()。

A、不能带有参数
B、只能带一个参数
C、只能带2个参数
D、只能带3个参数
二、判断题
1. 通常的拷贝初始化函数的参数是某个对象的成员名或对象的引用名。

()
2. 友元函数是类的成员函数,所以可以存取或修改该类中的私有成员。

()
3. 已知:类A中一个成员函数说明如下:void Set(A&a);其中A &a的含意是将a的地址值赋给变量Set。

()
4. 具有转换函数功能的构造函数,是指只能带有一个或两个参数的构造函数。

()
5. 多继承情况下,派生类的构造函数的执行顺序取决于定义派生类时所指定的各基类的顺序,而与派生类构造函数中所定义的成员初始化列表的各项顺序无关。

()
6. 在用class定义一个类时, 数椐成员和成员函数默认的访问权限是public。

()
7. 若类Y是类X的私有派生类, 类Z是类Y的公有派生类, 则类Z不能访向类X的公有成员和保护成员。

()
8. C++中设置虚基类的目的是实现运行时的多态。

()
9.模板类与类模板的意义完全相同。

()
10.只有常成员函数才可以操作常对象。

()
11.构造函数可以设置默认参数()
12.类的析构函数的作用是对象的初始化。

()
13.重载函数要求函数有相同的函数名,但具有不同的参数序列。

()
14.抽象类可以用来直接创建对象。

()
15.常对象可以调用任意成员函数。

()
16.虚函数在基类和派生类之间定义,且要求函数原型完全一致。

()
17. 抽象类可以用来直接创建对象。

()
18.内联函数中可以出现递归语句。

()
19. 模板类与类模板的意义完全相同。

()
20.常对象只能调用常成员函数。

()
三、填空题
1、编译时多态性可以用实现。

2、拷贝构造函数用它所在类的作为参数。

3、用关键字static修饰的类的成员称为成员。

4.重载运算符“+”的函数名为。

5、类和对象的关系可表述为:类是对象的,而对象则是类的。

6、静态成员函数没有隐含的,所以,在C++程序中,静态成员函数主要用来访问静态数据成员,而不访问非静态成员。

7、在图1中,A,B,C,D,E,F均是类,其中属于单继承的派生类有,属于多继承的派生类有,类F的基类有,类A的派生类有。

A B C
D E
F
图1 类的继承层次图
8、如果只想保留公共基类的一个复制,就必须使用关键字把这个公共基类声明为虚基类。

9、后置自增运算符“++”重载为类的成员函数(设类名为A)的形式为:。

10、如果一个类包含一个或多个纯虚函数,则该类称为。

11、若要把void fun()定义为类A的友元函数,则应在类A的定义中加入语句。

12、含有纯虚函数的类称为。

13、派生类中的成员不能直接访问基类中的成员。

14、假定A是一个类名,则该类的拷贝构造函数的原型说明语句为:。

15、运算符重载函数可能是类的函数,也可以是类的函数,还可以是普通函数。

16、假定A为一个类,则执行“A a[5],*p;”语句时,系统自动调用该类的构造函数的次数为。

17、运算符重载的实质是,是类的特征。

四、程序填空题
1、以下程序是定义一个计数器类Counter对其重载运算符“ +”,请填空。

class Counter
{ private:
int n; public:
Counter( ) { n=0; }
____ //运算符重载函数
{
Counter t;
t.n=n+c.n;
return t;
}
void disp() {
cout<<"n="<<n<<endl;
}
};
void main()
{
Counter c1(5),c2(10),c3;
c3=c1+c2;
c1.disp(); c2.disp(); c3.disp();
}
2、下列程序的输出结果为 2,请将程序补充完整。

class Base
{
public:
____ void fun()
{ cout<<1; }
};
class Derived: public Base
{ public:
void fun( ) { cout<<2; }
};
int main( )
{
Base *p= new Derived;
p->fun( );
delete p;
return 0;
}
3、在下面程序的横线处填上适当的语句,使该程序执行结果为10。

#include<iostream.h>
class MyClass
{
public:
①//为x置值
②//取x的值
private:
int x;
};
int main()
{
MyClass my(10);
cout<<my.GetNum()<<endl;
return 0;
}
4、完成下面的类定义。

class MyClass
{
public:
MyClass(){ x=0; }
① int GetNum( ② my);
private:
int x;
};
int GetNum( ③ my)
{
return my.x;
}
5、下面的类定义了拷贝构造函数,请完成该类的定义和实现。

class MyClass
{
public:
MyClass(int xx,int yy){ X=xx; Y=yy; }
①//拷贝构造函数原型
private:
int X,Y;
};
{
X= ③ ;
Y= ④ ;
}
6、下列程序在构造函数和析构函数中申请和释放类的私有成员,请完成该类的实现。

class MyClass
{
public:
MyClass(int a);
~MyClass();
private:
int *X;
};
MyClass::MyClass(int a)
{
① ;
}
MyClass::~MyClass()
{
② ;
}
7、下列程序通过把类Distance定义为类Point的友元类来实现计算两点之间距离的功能。

请完成该程序。

#include<iostream.h>
#include<math.h>
class Point
{
public:
① ;
Point( ② )
{
X=a;
Y=b;
}
void Print()
{
cout<<"X="<<X<<endl;
cout<<"Y="<<Y<<endl;
}
private:
float X,Y;
};
class Distance
{
public:
float Dis(Point &p,Point &q);
};
float Distance::Dis(Point &p,Point &q)
{
float result;
③ ;
cout<<result<<endl;
return result;
}
int main()
{ Point p(10,10),q;
Distance d;
d.Dis(p,q);
return 0;
}
五、读程序写结果
1、#include <iostream>
using namespace std;
class A {
public:
A( ) { cout << "A"; }
};
class B {
public:
B( ) { cout <<"B"; }
};
class C: public A {
C( ) { cout << "C"; }
private:
B b;
};
int main ( ) {
C obj;
return 0;
}
2、
#include <iostream>
using namespace std;
class A
{public:
A(){cout<<"A::A() called.\n";}
virtual ~A(){cout<<"A::~A() called.\n";}
};
class B: public A
{public:
B(int i)
{ cout<<"B::B() called.\n";
buf=new char[i];
}
virtual ~B()
{ delete []buf;
cout<<"B::~B() called.\n";
}
private:
char *buf;
};
int main()
{ A *a=new B(15);
delete a;
return 0;
}
3、
#include <iostream>
using namespace std;
class A
{public:
void f(){cout<<"Call A's function f()"<<endl;}
};
class B
{public:
void f() {cout<<"Call B's function f()"<<endl;}
void g() {cout<<"Call B's function g()"<<endl;}
};
class C: public A, public B
{public:
void g(){cout<<"Call C's function g()"<<endl;}
};
int main()
{ C cc;
cc.B::f();
cc.B::g();
cc.g();
return 0;
}
4、#include <iostream>
using namespace std;
class CArray
{
public:
CArray(int iArray[], int iSize):m_pArray(iArray), m_iSize(iSize) { }
int GetSize()
{ return m_iSize;
}
int &operator[](int iIndex)
}
private:
int *m_pArray; // 指向一个数组空间
int m_iSize; // 数组元素个数
};
int main()
{ int s[]={3, 7, 2, 1, 5};
CArray oArray(s, 5);
oArray[1] = 9;
for (int i = 1; i <= 5; i++)
{ cout << oArray[i] << " ";
} cout << endl;
return 0;
}
5、
#include <iostream>
using namespace std;
template <class Type>
void Print(Type a[], int n)
{ for (int i = 0; i < n; i++)
{ cout << a[i] << " ";
}
}
int main()
{ int a[] = { 5, 6, 8};
double b[] = {6.8, 9.6};
Print(a, sizeof(a) / sizeof(int));
Print(b, 2);
cout << endl;
return 0;
}
6、
#include <iostream>
using namespace std;
class CTest
{public:
CTest(int iVar):m_iVar(iVar)
{ m_iCount++;
}
~CTest()
{ }
void Print() const;
static int GetCount()
{ return m_iCount;
}
private:
int m_iVar;
static int m_iCount;
};
int CTest::m_iCount = 0;
void CTest::Print() const
{ cout << this->m_iVar << " " << this->m_iCount << " "; }
int main()
{ CTest oTest1(6);
oTest1.Print();
CTest oTest2(8);
oTest2.Print();
cout << CTest::GetCount();
cout << endl;
return 0;
}
7、
#include <iostream>
using namespace std;
class CTest
{public:
CTest(int iX = 0, int iY = 0, int iZ = 0):m_iZ(iZ)
}
void Print()
{cout << m_iX << endl;
cout << m_iY << endl;
}
void Print() const
{cout << m_iZ << endl;
}
private:
int m_iX, m_iY;
const int m_iZ;
};
int main()
{CTest oTest1;
oTest1.Print();
CTest oTest2(1, 6, 8);
oTest2.Print();
const CTest oTest3(6, 0, 18); oTest3.Print();
cout << endl;
return 0;
}
8、
class A
{
public: A() { cout<<"A"; } };
class B
{
public: B() { cout<<"B"; } };
class C : public A
{
B b;
public: C( ) { cout<<"C"; }
};
int main( ) {
C obj;
return 0;
}
9、
class Base
{
private: char c;
public:
Base(char n):c(n){ }
virtual ~Base() {cout<<C;} };
class Der:public Base
{ private:
char c;
public:
Der(char n):Base(n+1),c(n){ } ~Der() {cout<<C;}
};
int main()
{
Der("X");
return 0;
}
10、
#include <iostream.h>
AA(int i,int j)
{ A=i;B=j;cout<<"Constructor\n"; }
AA(AA &obj)
{ A=obj.A+1;B=obj.B+2;cout<<"Copy_Constructor\n"; } ~AA( )
{ cout<<"Destructor\n"; }
void print()
{ cout<<"A="<<A<<",B="<<B<<endl; }
private:
int A,B;
};
void main()
{
AA a1(2,3);
AA a2(a1);
a2.print();
AA *pa=new AA(5,6);
pa->print();
delete pa;
}
11、
#include <iostream.h>
class A
{
int a;
public:
A(int aa = 0 )
{
a = aa;
cout << "A(): " << a << endl;
}
};
class B: public A
{
int b;
public:
B(int aa = 0, int bb = 0): A(aa)
{
b = bb;
cout << "B(): " << b << endl;
}
};
int main()
{
B x(5), y(6,7);
return 0;
}
12、若有以下程序:
#include <iostream.h>
class Point
{
int x, y;
public:
Point(int m = 0, int n = 0) { x = m; y = n; }
void Show() { cout << "x=" << x << ", " << "y=" << y << endl; } };
int main( )
{
Point *p = new Point(1, 68);
p->Show();
delete p;
return 0;
}
13、若有以下程序:
#include <iostream.h>
class Sample
int n;
public:
Sample(int i) { n = i; s += n; }
static int s;
void Show() { cout << s << endl; }
};
int Sample::s = 0;
int main()
{
Sample a(2), b(5), c(8);
c.Show();
return 0;
}
14、
#include <iostream.h>
class Sample
{
int n;
public:
Sample(int i) { n = i; }
void Print() { cout << "1:n=" << n << ","; }
void Print( ) const { cout << "2:n=" << n << endl; } };
int main()
{
Sample a(10);
const Sample b(20);
a.Print();
b.Print();
return 0;
}
15、
#include <iostream.h>
class Test
{
int x;
public:
void Setx(int i) { x = i; }
int Putx() { return x; }
};
int main()
{
Test *p;
Test a[3];
a[0].Setx(5);
a[1].Setx(6);
a[2].Setx(7);
for( int j = 0; j < 3; j++)
{
p = &a[j];
cout << p->Putx() << ",";
}
cout << endl;
return 0;
}
16、
#include <iostream.h>
class Base
{
public:
Base(int x) { a = x; }
void Show() { cout << a << endl; }
private:
int a;
};
class Derived: public Base
{
public:
Derived (int i): Base(i + 1), b(i) {}
void Show() { cout << b << endl; }
private:
int b;
};
int main()
{
Base b(5), *pb;
Derived d(1);
pb = &d;
pb->Show();
return 0;
}
17、
#include <iostream.h>
class Base
{
public:
void Fun() { cout << "1" << endl; }
};
class Derived: public Base
{
public:
void Fun() { cout << "2" << endl; }
};
int main()
{
Derived a;
Base *p;
p = &a;
(*p).Fun();
a.Fun();
return 0;
}
18、
#include <iostream.h>
template <typename TT>
class FF
{
TT a1,a2,a3;
public:
FF(TT b1,TT b2, TT b3) { a1 = b1; a2 = b2; a3 = b3; } TT Sum() { return a1 + a2 + a3; }
};
int main()
{
FF <int> x(2, 3, 4), y(5, 7, 9);
cout << x.Sum( ) <<' ' << y.Sum() << endl;
return 0;
}
19、#include<iostream>
using namespace std;
class A
{
int a,b;
public:
A() { a = b = 0; }
A(int aa, int bb)
{
a = aa;
b = bb;
cout << a << ' ' << b << endl;
}
};
int main()
{
A x, y(2,3);
return 0; }。

相关文档
最新文档