C++的struct与class怎么用
导读:本文共1977字符,通常情况下阅读需要7分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 一、类的关键字struct 在 C 语言中已经有了自己的含义,必须继续兼容在C++ 中提供了新的关键字 class 用于类定义class 和 struct 的用法是完全相同的在用 struct 定义类时,所有成员的默认访问级别为 public在用 class 定义类时,所有成员的默认访问级别为 private如下:下面看一段使用 class 的代码:#inclu... ...
目录
(为您整理了一些要点),点击可以直达。一、类的关键字
struct 在 C 语言中已经有了自己的含义,必须继续兼容
在C++ 中提供了新的关键字 class 用于类定义
class 和 struct 的用法是完全相同的
在用 struct 定义类时,所有成员的默认访问级别为 public
在用 class 定义类时,所有成员的默认访问级别为 private
如下:
下面看一段使用 class 的代码:
#include<stdio.h>structA{//defualttopublicinti;//defualttopublicintgetI(){returni;}};classB{//defualttoprivateinti;//defualttoprivateintgetI(){returni;}};intmain(){Aa;Bb;a.i=4;printf("a.getI()=%d\n",a.getI());b.i=4;printf("b.getI()=%d\n",b.getI());return0;}
下面为输出结果,运行报错,指出 class 声明的类,所有成员的默认访问级别为 private
在 class B 里面加个 public 即可,如下:
classB{public://defualttoprivateinti;//defualttoprivateintgetI(){returni;}};
下面为输出结果:
二、类的真正形态
C++ 中的类支持声明和实现的分离
将类的实现和定义分开
.h头文件中只有类的声明
成员变量和成员函数的声明
.cpp源文件中完成类的其它实现
成员函数的具体实现
三、小实例
需求:开发一个用于四则运算的类
提供 setOperator 函数设置运算类型
提供 setParameter 函数设置运算参数
提供 result 函数进行运算
其返回值表示运算的合法性
通过引用参数返回结果
代码如下:
Operator.h
#ifndef_OPERATOR_H_#define_OPERATOR_H_classOperator{private:charmOp;doublemP1;doublemP2;public:boolsetOperator(charop);voidsetParameter(doublep1,doublep2);boolresult(double&r);};#endif
Operator.cpp
#include"Operator.h"boolOperator::setOperator(charop){boolret=false;if((op=='+')||(op=='-')||(op=='*')||(op=='/')){ret=true;mOp=op;}else{mOp='\0';}returnret;}voidOperator::setParameter(doublep1,doublep2){mP1=p1;mP2=p2;}boolOperator::result(double&r){boolret=true;switch(mOp){case'/':if((-0.000000001<mP2)&&(mP2<0.000000001)){ret=false;}else{r=mP1/mP2;}break;case'+':r=mP1+mP2;break;case'*':r=mP1*mP2;break;case'-':r=mP1-mP2;break;default:ret=false;break;}returnret;}
test.cpp
#include<stdio.h>#include"Operator.h"intmain(){Operatorop;doubler=0;op.setOperator('/');op.setParameter(9,3);if(op.result(r)){printf("r=%lf\n",r);}else{printf("Calculateerror!\n");}return0;}
下面为输出结果:
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
C++的struct与class怎么用的详细内容,希望对您有所帮助,信息来源于网络。