首页 > 其他分享 >初识类

初识类

时间:2023-05-01 09:11:41浏览次数:32  
标签:return Point double 成员 show 初识 class

实例

封装一个“Point类”来实现平面上的点的操作。

1、声明

class class_name{
[private:]   
        成员;
public:
        成员;
protected:
        成员;
};

<1>class_name : 类名,一般首字母大写

<2>private,public,protected:访问权限

<3>成员:数据,函数

<4>声明时不会为类分配内存,因此c++11前类内数据成员不可以进初始化,现在static修饰的成员依然不可以再类内初始化

实例:

class Point{
private:
    double x_,y_;
    
public:
    
    double x(){return x_;}
    double y(){return y_;} 
    double x(double a){x_ = a; return x_;}
    double y(double b){y_ = b; return y_;}
    
    void show(){cout<<"("<<x_<<", "<<y_<<")"<<endl;}
};

 

2、对象的定义和成员的调用

定义:class_name 对象名;
调用 :对象名.成员;
      指针->成员;
Point p1,*p;
    p1.x(1);
    p->x(1);

3、成员函数

3.1、定义方式

类内:略

类外:类内声明原型,类外定义

r_type class_name::f_name(T1p1,……){……}

例:

class Point{
private:
    double x_,y_;

public:
    //类内
    double x(){return x_;}
    double y(){return y_;}
    double x(double a){x_ = a; return x_;}
    double y(double b){y_ = b; return y_;}
    //类外
    void show();
};
void Point::show(){cout<<"("<<x_<<", "<<y_<<")"<<endl;}

3.2、常量成员函数

在c++中,为了放止成员函数修改数据成员的值,可以把它设置为常量成员函数:

T  f(T1, ……) const;

例:

class Point{
private:
    double x_,y_;

public:

    double x() const {return x_;}     double y() const {return y_;} // 常量成员函数
    double x(double a){x_ = a; return x_;}
    double y(double b){y_ = b; return y_;}

    void show();
};
void Point::show(){cout<<"("<<x_<<", "<<y_<<")"<<endl;}

3.3、重载和默认参数值

适用

标签:return,Point,double,成员,show,初识,class
From: https://www.cnblogs.com/qlc23333/p/17364929.html

相关文章

  • 初识选择语句
     选择语句,就是如何在代码中实现选择 先创建一个输入的值为max打印你所要选择的语句用1/0输入一个值,将这个值放入在max里输入1时将会打印“考上好学校”输入其他数时将会打印“没书读”......
  • 4/27打卡 stl初识vector
    1#include<iostream>2#include<vector>3usingnamespacestd;456voidtest()7{8vector<vector<int>>v;9vector<int>v1;10vector<int>v2;11vector<int>v3;12vector<in......
  • 初识--深度学习
    所谓深度学习,其实也是机器学习中的一部分,而且更加突出了“学习”的概念,去学习什么样的特征组合是最合适的。机器学习的流程是:数据获取,特征工程,建立模型,评估应用。所谓深度学习,不要把他当成一种算法,你要把他当成一种提取特征的工具,由于特征之间不同的组合,所以造成了神经......
  • 初识转义字符
    转义字符:转变了它原来的意思  按照中文来说应该是打印出来ab\ncd,但是在c语言中\n是一个转义字符,代表的是转行的意思  \ddd表示的是1-3个8进制的数字(8进制数字是0-7没有8)这里的\130打印出来的为什么是X?因为1是8的2次方,3是8的1次方,0是8的0次方,所得出来的值是88,88在ASC......
  • 初识数据结构
    什么是数据结构,数据结构可以理解为我们规定数据元素之间具有某种关系或规则,程序员根据这些规则能够更好的管理和操作这些数据。数据元素的关系包括三种:线性关系——1:1线性关系即为数据是一对一的关系,即除了开头的数据元素和最后的数据元素,其他如何应该数据元素有......
  • 初识
    1Go语言介绍#Go语言介绍Go即Golang,是Google公司2009年11月正式对外公开的一门编程语言Go是【静态强类型】语言,是区别于解析型语言的编译型语言(静态:类型固定强类型:不同类型不允许直接运算)解析型语言——源代由解析器对代码进行解释执行编译型语言——源代码编译生成机器......
  • 深度学习--初识卷积神经网络
    深度学习--初识卷积神经网络1.LeNet-580年代,正确率达到99.2%5/6层输入层:32*32第一层:卷积层6@28*28第二层:下采样层6@14*14第三层:卷积层16@10*10第四层:下采样层16@5*5第五层:全连接层120第六层:全连接层84输出层:高斯连接层102.AlexNet2012年,8层网络结构5个卷......
  • C++ - 多线程之初识多线程
    1.认识多线程传统的C++(C++11之前)中并没有引入线程这个概念,在C++11出来之前,如果我们想要在C++中实现多线程,需要借助操作系统平台提供的API,比如Linux的<pthread.h>,或者windows下的<windows.h>。C++11提供了语言层面上的多线程,包含在头文件<thread>中。它解决了跨平台的问题,提供......
  • Qt5.12实战之图形编程初识
    演示效果: 1.绘制条件:1.绘图设备-> QPainter2.画笔->QPen --->字体(QFont)3.画刷->QBrush-->自己定义画刷(QPixmap)4.绘制事件->QPaintEvent绘图步骤:1.重写基类的虚函数 voidpaintEvent(QPaintEvent*event); 2.在虚函数 voidpaintEvent(QPaintEvent*event)的实现函......
  • 初识 Guzzle
    文档地址Guzzle是一个使用PHP实现发送HTTP请求,方便和webservice集成的PHP客户端模拟组件。一句话,它就像一个PHP写的浏览器。当你的服务端程序需要作为客户端来访问其他的service服务时,撸它。简单的接口构建querystring,POSTrequests,streaminglargeuploads/downloads,使......