17 - 05 - 11 C++初窥
来源:互联网 发布:网络电子游艺漏洞 编辑:程序博客网 时间:2024/04/29 22:20
l 函数重载(函数多态)
可以有多个同名函数,只要他们的参数不同即可。
int store (int ,int);
int store (long ,long);
int store (long);
调用该函数时,指定的参数决定了调用哪一个版本
l 缓冲区存储; 定义一个数组 yum[100]来存储字符串。
(如char yum [ ] = “Zombie liion”)
std::cin >> yum;
但是如何保证用户的输入不会溢出?而且如果用户输入了空格,cin 会认为字符串就此结束,
不再会将接下来的内容写入缓冲区。
为了解决这个问题,必须调用cin 对象的方法getline并
提供两个参数 1、要填充的缓冲区 2、最多读取的字符数。
std::cin .getline(yum,18)
这样可以读取18个字符,包括空字符(空格)
在遇到回车后 停止读取。
还可以: std::cin .getline ( yum,18,‘ ’);
这条语句在遇到空格后即停止读取输入。
ex: char name[100];
std::cin .getline(name,18);
l 类和成员
1) 类的声明(class)比如声明一个Tricycle类:
class Tricycle { //三轮车public: unsigned int speed; pedal(); //踏板 brake(); //刹车 };
一个成员变量speed 两个成员函数,这三个成员可以被其他类 直接引用。
//声明了类后,系统并不会为这个Tricycle分配内存,
他只是告诉编译器,这个类是什么,包括什么
声明了类后,可以用这个类来创建对象。
ex:Tricycle Yong_Jiu; //永久牌三轮车 同 int n;
创建对象后,可使用“ . ”来访问其成员变量/成员函数
ex : Yong_Jiu .speed = 6
注意:这里 Tricycle .speed = 6 是不允许的。
调用pedal()函数: Yong_Jiu .pedal();
class Tricycle { int model = 110;public: int.... pedal....}
model并不在public 之列,所以他是私有的(private)
虽然成员变量可以是共有的,但最好将他们都声明为私有的(private)这样只能通过成员函数访问他们,
用于设置或获取私有成员变量值的函数称为 存取器(accessor),其他 类 要使用这些变量,必须调用存取器.
要想访问私有函数,要在类中设置一个共有的接口函数,类的对象需要通过这个接口函数才能访问私有成员。
#include<iostream>using namespace std;class human {public:void set(int w) { weight = w; }int print ( ) { return weight ; }private:int weight;}; int main ( ) {human Tom;Tom.set(5);cout<<"Tom的体重为:"<<Tom.print()<<"\n";human Mike; Mike.set(7);cout<<"Mike的体重为:"<<Mike.print()<<"\n"; return 0;}
输出结果如下: Tom的体重为:5
Mike的体重为:7
看似这么复杂的设置了一个接口是为了提高安全性,比如用户输入了一个超过范围的数,
这个就可以在接口函数set中进行设定:
void set(int w) {if(w>0 && w<100)weight = w;elsecout<<“请将weight的值设置为从0~100,否则系统将会把weight设置为0”weight = 0;}
一般情况下,我们将类的数据成员设置为私有,而使用类的公有函数来访问它,
好处就是数据的赋值和读取分开操作,赋值函数不需要考虑读取函数是如何工作的,
反之亦然,如此便提高了程序的可维护性。
- C(11)
- 11C
- C指针原理(17)-C指针基础
- [C/C++][2012-11-29] __attribute__ 详解
- 11-22C/C++/python程序编程
- 11/24 C/C++/Python程序bainchen
- 初窥C程序
- Effective C++:条款05
- 05,标准C
- 【C语言】05-进制
- 51,C++(05)
- 保准C知识05
- C语言 05
- 05、C语言-字符串
- AliIM2017_taobao(9.09.05C)
- 《Effective C++》条款05
- C语言05
- c语言基础05
- SFML game fun
- GitLab的安装方式
- @RequestMapping注解说明
- compile and install ffmpeg on Ubuntu
- Unit 2-Lecture8: Degrees & Isomorphism
- 17 - 05 - 11 C++初窥
- UINavigationController 层次关系
- 变量于常量
- 主类型默认值几大小,类成员
- Controller方法的返回值介绍
- 教女朋友学Python(5)——快到碗里来
- 全局异常处理
- Fuzzy Hashing 算法工具ssdeep 使用
- spring AOP(注解)