内容发布更新时间 : 2025/4/20 10:55:06星期一 下面是文章的全部内容请认真阅读。
练习1:
#include
ostream& operator<<(ostream& out,Point& p){ cout<<”(”<
void Point::set(){ cin>>x>>>y; }
int main(){ Point p1; int a=100; try {
p1.set()
if(p1.x<0) throw a; cout< 练习2: #include { char *ch;//假设输入字符串的长度不超过10 (ch=new char); cin>>ch; cout< 练习3:: 请将下列程序补充完整,使得输出结果为“Destructor B!Destructor A!”。 #include ( virtual ~A() ){ cout << “Destructor A!”; } }; class B : public A { public: ~B(){ cout << “Destructor B!” } }; void main () { A *pBase = new B; ( delete pBase ); } 练习4: #include class Square: public Rectangle {public: Square(int w):Rectangle(w){W=w;} int GetArea(){return W*W;} void Display(){cout< void main() { Rectangle r(6,8);Square s(8); // cout< 问题:65 45 1、Square类的函数Broaden是否为Rectangle类的函数Broaden的函数重载? 是 2、语句s.Broaden(5,0);中对象s调用的是哪个Broaden函数?并说明原因。 第二个类的 因为他有两个参数的对象 3、语句pR->Broaden(6);中指针pR调用的是哪个Broaden函数?并说明原因。 第一个 他只有一个参数 4、Square类的函数GetArea()是虚函数吗?并说明原因。 是,因为基类的getarea是虚函数,派生类的也会自动成为虚函数。 5、程序运行结果是什么? 169 81 6、如果去掉程序中惟一的一个virtual关键字,运行结果是什么? 65 45 7、程序中有唯一的一行注释,去掉注释编译出错,请说明出错原因。 W是基类的protected成员,不能被派生和基类以外的访问 练习6: #include void main() { char *s1=new char[10], s2[100]; s1=\f(s1,s2,4); cout< b[k]=(a[k]-'a'+4) & +'A'; b[n]=0; } 问题: 1、在语句char *s1=new char[10], s2[100];中分别定义了一个动态数组和一个静态数组,请问动态数组与静态数组在定义数组大小方面的区别是什么? 动态大小可变,静态大小不可变 2、语句b[n]=0;中0表示什么意思?并进一步归纳一下零在C++中有哪些应用场合? 作为结束的标志,0可以赋值当整数,可以当条件语句中的非,十六进制的开头,还能代表字符空格 意为空 3、上述程序运行结果是什么? EFGH 练习7、 #include void swap(int *p1, int &p2) { if ( *p1>p2 ) { int *temp; temp = *p1; *p1 = p2; p2 = temp; } }