2.1面向对象程序设计基础

xiaoxiao2021-02-28  77

2.1.1类和对象

1.类的定义 格式:

class 类名{ public: ... private: ... protected: ... };

2.类成员函数定义 格式:

void Picture::Chart(int i){ ... } //::是作用域运算符

3.对象 格式:

Picture circle(0.5,(0,0));

2.1.2构造函数和析构函数

#include<iostream> using namespace std; class CRectangle { public: CRectangle();//默认构造函数 CRectangle(int width,int height);//带参数构造函数 ~CRectangle();//析构函数 double circum(); double area(); private: int width; int height; //成员变量 }; CRectangle::CRectangle(){//定义默认构造函数 this->width=10; this->height=5; cout<<"create default object"<<endl; //非法语句?找不到cout?-no } CRectangle::CRectangle(int width,int height){//定义带参构造函数 this->width=width; this->height=height;//这个地方可以不用this->(貌似不行,编译不过) cout<<"create new object"<<endl; } CRectangle::~CRectangle(){//析构函数(其实不需要定义) cout<<"delete object"<<endl; } double CRectangle::circum(){ return 2*(width+height); } double CRectangle::area(){ return width*height; } int main(){ CRectangle Rect1,Rect2(30,20); //Rect1默认,Rect2参数定义 CRectangle *pRect=&Rect2; //指针取地址 //使用对象输出周长和面积 cout<<"Rect1 circum"<<Rect1.circum()<<endl; cout<<"Rect1 area"<<Rect1.area()<<endl; cout<<"Rect2 circum"<<Rect2.circum()<<endl; cout<<"Rect2 area"<<Rect2.area()<<endl; //使用对象指针输出Rect2周长和面积 cout<<"Rect2 circum"<<pRect->circum()<<endl; cout<<"Rect2 area"<<(*pRect).circum()<<endl; //等价表示?p->a==(*p).a //注意'.'>'*' return 1; }
转载请注明原文地址: https://www.6miu.com/read-54952.html

最新回复(0)