p124封闭类的定义:
#include <iostream> using namespace std; class CTyre { private: int radius;//半径 int width;//宽度 public: CTyre() :radius(16), width(185) {};//声明构造函数1 CTyre(int r, int w):radius(r), width(w) {}//声明构造函数2 int getRadius() // 获取半径 { return radius; } int getWidth() //获取宽度 { return width; } }; class CCar //汽车类 封闭类 { private: int price;//价格 CTyre tyre;//成员对象 public: CCar(); CCar(int p, int tr, int tw); //声明构造函数3 int getPrice() // 获取价格 { return price; } CTyre getCTyre()//获取轮胎信息 { return tyre; } }; CCar::CCar() //定义构造函数三 { price = 50010; CTyre(); } CCar::CCar(int p,int tr,int tw):price(p),tyre(tr,tw) { //定义构造函数四使用初始化列表 } int main() { CCar car(48900, 17, 225);//定义对象car并调用构造函数4初始化,需要先执行构造函数2初始化轮胎信息,再继续执行构造函数3初始化价格 cout << "price=" << car.getPrice(); cout << "\tCTyre.Radius=" << car.getCTyre().getRadius() << "\tCTyre.Width=" << car.getCTyre().getWidth() << endl; CCar car1; cout << "price=" << car1.getPrice(); cout << "\tCtyre.Radius=" << car1.getCTyre().getRadius() << "\tCTyre.Width=" << car1.getCTyre().getWidth() << endl; }
运行结果:
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。