当前位置: 首页 > news >正文

深圳做网站哪家南昌网络营销网站

深圳做网站哪家,南昌网络营销网站,桃城网站建设价格,陕西省高速建设集团公司网站基本概念#xff1a; 类-类型#xff1b;类描述抽象概念的#xff1b; 对象-变量#xff1b;对象描述客观实的#xff1b; 在进行面向对象程序设计时要先声明类#xff0c;再创建该类的对象。 为了方便讲述与理解这里我使用一个例题进行讲解吧。 例子#…基本概念 类-类型类描述抽象概念的 对象-变量对象描述客观实的 在进行面向对象程序设计时要先声明类再创建该类的对象。 为了方便讲述与理解这里我使用一个例题进行讲解吧。 例子一个完整的类与对象的题目 求圆柱体的表面积与体积 #include iostream #include cmath using namespace std;class Point { public:Point(double aa 0, double bb 0){a aa;b bb;p 3.14*pow(a,2);c 3.14 * 2*a;}double getVolume(){return p * b;}double getArea(){return 2*pc*b;} private:double a;double b;double c;double p; }; int main() {double x,y;cin xy;Point t1(x,y);cout t1.getArea() t1.getVolume();return 0; } 主函数中 Point t1(x,y); 表示建立一个对象 Point表示的是类名必须是已经存在的类名才行 t1表示对象名自己起起名规则与标识符相同 而xy实参具体的一会再说 t1.getArea()表示使用t1的getArea 如何定义类 定义类时要将类的位置放到函数的上面要不然程序跑到主函数时找不到类 class为关键词管理类中默认权限。这里还有一个关键词为struct这两个区别就是class默认权限是private,而struct默认为pubilc; 那么什么是权限呢 class 类名 { public: 公有数据成员 公有成员函数 protected: 保护数据成员 保护成员函数 private: 私有数据成员 私有成员函数 }; 权限分为三种pubilc、protected、private pubilc:共有权限,不管是类内还是类外都可以访问到 protected保护权限类内与派生类可以访问到 private私有权限只有类内可以访问到 C提供了比结构体类型更加方便安全的类类型类的定义一般分为说明部分和实现部分。 说明部分来说明该类中的成员数据成员和成员函数成员函数是对数据成员进行操作的 实现部分对成员函数进行定义。 Point为类名可随意定义一般首字母要大写 {}定义类与定义函数的区别是要在“}”后面加上一个“” 数据成员 1.定义数据成员时不能给数据成员赋初值。因为类是抽象的只是一种类型类中 的数据成员不占内存空间。 class Point { double z; double a; double x10;//错误 double y20;//错误 };2.类的数据成员可以使用 C基本数据类型、构造数据类型还可以使用已定义完整的类类型。 class Point { double x; double y; };class Circle { Point p;//定义了上面的point中的成员 double r; }; 3.在正在定义的类中因为该类还没有定义完整所以不能定义该类类型的数据成员只能定义该类类型的指针或引用成员。 class Point { double x; double y; Point p1;//错误 Point p2;//正确 Point *p3;//正确 };那么定义了数据成员不能赋值该如何使用呢 成员函数 成员函数的定义、声明格式与非成员函数(全局函数)的格式与用法基本一样只是成员函数属于某 个类。成员函数的定义可以放在类中也可以放在类外。 内联函数 所有在类内部定义的函数都是内联函数称为隐式定义。 内联函数在编译时使用函数体替换调用处的函数名可以提高函数运行的速度但是会增加编译的时间。 class Point { public: 返回值类型 函数名(形参) {函数的内容 } void SetPoint(double xx,double yy) { xxx; yyy; } void Display() { cout(x,y)endl; } private: double x; double y; };在主函数或者自定义函数里时使用某对象的Setpoint需要(实际函数)而Display()不用 在类外定义函数体的格式如下 返回值类型 类名::成员函数名(形参表) {函数体 }::是类的作用域分辨符放在类名与成员函数之间表明后面的成员函数属于前面的那个类。 但在类外定义时需要在函数定义的 头前加上关键字 inline称为显示定义这样做使代码书写更加清晰。 如果采用这种方式定义内联函数类的声明和内联成员函数的定义要放在同一个文件中否则在编译时无法进行代码置换。 例如与上面的内联函数效果一样的例子 class Point { public:void SetPoint(double xx,double yy);void Display(); private:double x;double y; };inline void Point::SetPoint(double xx,double yy) {xxx;yyy; }inline void Point::Display() { cout(x,y)endl; }一般地按照习惯将成员放入private函数放入public; 你一定发现了怎么有个函数没有返回值呢这是一个特殊的函数--构造函数 构造函数 构造函数是一种特殊的成员函数函数名与类名相同可以有任意类型的参数但不能有返回值类型在建立对象时自动调用用于为对象分配空间并进行初始化。 这就是在最上面的例子中我的主函数中建立Point t1(x,y)时可以加x,y的原因.如何没有定义构造函数不可加上(x,y)这样的实参就是要写成这样Point t1 如果在定义类时没有为类定义构造函数编译系统就生成一个默认形式的隐含的构造函数这个构造函数的函数体是空的因此默认构造函数只为对象开辟空间而不对数据成员赋初值。 这是有人发现了为什么我的构造函数中里的形参要加上 0 这一步呢 又是一个例子 #include iostream using namespace std; class Point {public:Point(double xx0, double yy0){x xx;y yy;}void setPoint(double xx, double yy){xxx;yyy;}void displayPoint(){cout ( x ,y ) endl;}private:double x;double y; };int main() {double x,y;cinxy;Point p;p.displayPoint();p.setPoint(x,y);p.displayPoint();return 0;} 这里在建立对象时没有给进实参所以构造函数就会调用形参中的赋值进入形参里面 如果不写0系统会报错为啥呢因为在建立一个对象后我又使用了一个类里的函数这个函数的功能是输出数据成员而这时数据成员没有值数据成员为抽象的没有值就会报错所以输出不了就无法使用这个函数 那么我可不可以这样定义呢 Point(double xx, double yy){xx0;yy0;x xx;y yy;} 当然不行了因为数据成员时不能给数据成员赋初值 又又人发现了你最上面的例子不对啊为啥构造函数里的形参0和实参都写了。这样写是不算错的实参有数据成员函数的形参会忽略掉形参里的赋值效果等于没有形参的0 这时又又又注意到了为什么成员函数的形参不像自定义函数里的形参似的可以设置成与实参一样的变量呢 哈哈又是一个例子 #include iostream using namespace std; class Point {public:Point(double x, double y){x x;y y;}void displayPoint(){cout x y endl;}private:double x;double y; };int main() {double x,y;cinxy;Point p(x,y);p.displayPoint();return 0;}如果设成这样会报错吧当然不会啦但是当你跑起程序时你会发现输出的值不是你想要的而是一堆乱码。为啥呢因为我们编译器搞不明白xx是哪两变量是新参还是数据函数就会造成程序错误。那怎么解决呢 this指针 this 指针是一个系统预定义的特殊指针指向当前对象只能在类的成员函数中使用 存有当前对象的地址程序员不能改变只能使用。 成员函数的形参名与数据成员名相同时访问数据成员需要在数据成员前用 this 指针 Point(double x,double y) { this-xx; this-yy; }这样编译器就会明白了第一个x是数据成员第二个x是形参中的x 类与对象的例题 参考资料 [1]CSDNC class 和 struct 构造函数 [2] [3] [4] [5] [6] [7] [8] [9]
http://wiki.neutronadmin.com/news/14178/

相关文章:

  • 电商企业网站建设方案360免费建站方法
  • 淄博网站优化公司一个网站绑定两个域名
  • 徐州专门做网站wordpress 更新 失败
  • 值得做的网站wordpress主题git
  • 天猫网站的建设目标本地赣州网站建设
  • 一诺互联网站建设公司无锡百度搜索排名优化
  • 网站开发的趋势系统集成项目管理中级职称
  • 旅游网站开发网站设计报告书网站建设知乎
  • 排名好的网站开发画家个人网站建设
  • 网页模板网站有那些网站建设与设计毕业shej
  • 返佣网站都是自己做的房屋建筑设计说明
  • 怎么建立信息网站平台新遵义吧
  • 大埔建设工程交易中心网站企业信息填报登录
  • 404黄台软件平台seo外包公司兴田德润官方地址
  • 做网站怎么查看来访ip成全视频在线观看免费高清版
  • 廊坊做网站的电话微信自带小程序商城
  • 腾讯云 建网站线上推广专员岗位职责
  • 黑龙江农垦建设局网站wordpress返回html原理
  • linux版网站开发网站建设管理软件
  • 桂林漓江水位淘宝宝贝关键字优化
  • 短链接生成站长工具短网址生成器在线
  • php企业网站开发网站 用cms 侵权
  • dw建设个人网站步骤建筑公司网站首页
  • 网站建设类的计入什么科目定制开发合同
  • 网站维护好的方法做行业门户网站注意什么
  • 专业信息网站建设方案嘉兴微信网站建设
  • 返利网站 帐如何做做网站需要找什么客户
  • 专业网站制作流程网站seo诊断优化方案
  • 参加网站建设项目人员保障体系c语言 网站开发
  • 无锡网站建设 百家号腾讯新闻发布平台