1、4-8 定义一个Dog类,包含age,weight等属性,以及对这些属性操作的方法。实现并测试这个类。
#include
2、
int age;
float weight;
};
void main()
{
Dog d;
d.setAge(3);
d.setWeight(30);
cout<<"小狗:"<
3、e
{
public:
Rectangle(int xx1,int yy1,int xx2,int yy2)
{
x1=xx1;
y1=yy1;
x2=xx2;
y2=yy2;
}
float getArea()
{
return fabs(x2-x1)*fabs(y2-y1);
}
private:
int x1,y1;
int x2,y2;
};
void main()
{
Rectangle rec(0,0,10,20);
cout<<"矩形面积:"< 4、
4-11 定义并实现一个矩形类,有长、宽两个属性,由成员函数计算矩形的面积。
#include 5、20);
cout<<"矩形面积:"< 6、PI*PI;
}
private:
float radius;
};
void main()
{
Circle c(5.5);
cout<<"圆的面积:"< 7、
Complex(float r=0.0,float i=0.0)
{
real=r;
image=i;
}
void add(Complex b)
{
real=real+b.real;
image=image+b.image;
}
void show()
{
cout< 8、lex c2=4.5; //相当于Complex c2(4.5);
c1.add(c2);
c1.show();
}
5-7 定义一个Cat类,拥有静态数据成员numOfCats,记录Cat的个体数目;静态成员函数getNumOfCats(),读取numOfCats。设计程序测试这个类,体会静态数据成员和静态成员函数的用法。
#include 9、s--;
}
static int getNumOfCats()
{
return numOfCats;
}
private:
static int numOfCats;
};
int Cat::numOfCats=0;
void main()
{
cout<<"现在的Cat数量:"< 10、l;
}
5-14 定义Boat与Car两个类,二者都有weight属性,定义二者的一个友元函数getTotalWeight(),计算二者的重量和。
#include 11、
Car(float w)
{
weight=w;
}
friend float getTotalWeight(Boat b,Car c);
private:
float weight;
};
float getTotalWeight(Boat b,Car c)
{
return b.weight+c.weight;
}
void main()
{
Boat boat(3500);
Car car(1000);
cout<<"船和汽车共重"< 12、
7-5 定义一个基类Shape,在此基础上派生出Rectangle和Circle,二者都有getArea()函数计算对象的面积。使用Rectangle类创建一个派生类Square。
#include 13、 : public Shape
{
public:
Rectangle(float l,float w):Shape(l,w)
{
}
float getArea()
{
return a*b;
}
};
class Circle : public Shape
{
public:
Circle(float r):Shape(r)
{
}
float getArea()
{
return a*PI*PI;
}
};
class Square : public Rectangle
{
public:
Squ 14、are(float l):Rectangle(l,l)
{
}
float getArea()
{
return a*a;
}
};
void main()
{
Rectangle r(10,20);
Circle c(5);
Square s(10);
cout<<"矩形的面积:"< 15、出狗类Dog,定义一个Dog类的对象,观察基类与派生类的构造函数和析构函数的调用顺序。
#include 16、structing Dog."< 17、 }
void show()
{
cout< 18、id main()
{
Book book("C++语言程序设计",529);
book.show();
}
7-10 定义一个Object类,有数据成员weight及相应的操作函数,由此派生出Box类,增加数据成员height和width及相应的操作函数,声明一个Box对象,观察构造函数与析构函数的调用顺序。
#include 19、
~Object()
{
cout<<"Destructing Object."< 20、ing Box."< 21、10);
box.setWeight(8);
cout<<"盒子:高"< 22、a)
{
Counter temp;
temp.i=i+a;
return temp;
}
private:
int i;
};
void main()
{
Counter c;
c=c+3;
c.print();
c=c+5;
c.print();
}
8-5
#include 23、};
class Dog:public Mammal
{
public:
virtual void speak()
{
cout<<"Dog Speak!"< 24、
void print()
{
cout<<"("<






