C++类的初体验封装之构造函数(一)


前言

在讲构造函数之前,我们先介绍什么是类,类的作用和类的定义

什么是类

类是一种复杂的数据结构,它是将各种不同的数据类型和数据的相关操作封装在一起的集合体。类的基本思想是数据抽象和封装。而类包含数据成员和成员函数

例如:当你定义一个人的类,一个人有他的名字(name),性别(sex),年龄(age),身高(height)等等,而这些名字,性别,年龄,身高就是类的数据成员,当然一个人还应该会吃饭(eat),会走路(move),会玩游戏(play)等等,这些就可以看成类的成员函数。这个类接下来会给出定义


类的定义

在C++中类由class关键字定义
class 类名
{
    // 相关数据成员和成员函数
};   // 记住分号不要漏了

例如刚刚人的类

class Person
{
    // 数据成员
    string name;
    string sex;
    int age;
    double height;
    // 成员函数
    void eat();
    void move();
    void play();
    // .......
}

写到这里有些人可能会想,每个人都是有隐私的,像女生,她们一般不会透露自己的年龄,个人信息就会变得很重要,这时就希望某些数据成员不被外界直接访问得到,年龄这个数据成员就被加了限制,所以我们要用到封装


类的访问限制和封装

在C++中,我们使用访问限制符来加强类的封装性。访问限定符包含三个:public, private, protected

public: 公有的
private: 私有的
protected: 受保护的

当人的类加了访问限定符后

class Person
{
public:         //显示出来的
    void eat();
    void move();
    void play();
private:        // 隐藏起来的
    string name;
    string sex;
    int age;
    double height;
}

内联函数

普通函数和内敛函数的区别

普通函数
普通函数
内联函数
内联函数
内联函数:避免了函数调用的额外开销
例如声明print为内联函数

inline string print(const string &s1, const string &s2)
{
    return (s1.size() < s2.,size() ? s1 : s2)
}
当执行
cout << print(s1, s2) << endl;
在编译的过程中会展开成
cout << (s1.size() < s2.size() ? s1 : s2) << endl;

当然内联函数一般来说是比较容易的函数,如果函数有60多行代码,那么直接展开会变的很麻烦



原文:http://ixjfun.top/2016/08/31/C-class-constructor-%E4%B8%80/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值