【C++】C++类和对象

简介: 最近在公司弄游戏开发,C++基础也不是特别好,所以就打算继续开始学习C++。既然从头学习C++,就打算写一个系列教程。C++学习之路。 我是在边学习C++,边学习cocos2dx 3.X,白天时间不是很多, 先把C++系列写完再写coco2dx的教程。

最近在公司弄游戏开发,C++基础也不是特别好,所以就打算继续开始学习C++。

既然从头学习C++,就打算写一个系列教程。C++学习之路。
我是在边学习C++,边学习cocos2dx 3.X,白天时间不是很多,
先把C++系列写完再写coco2dx的教程。
希望对大家有帮助。
(可能基础知识不是很详细,对没有其他语言基础的人来说不是很友好,请见谅)

每个实体都可以看成一个对象。在C++中,对象的类型被称为类。
类代表了某一批对象的共性和特征。

类是对象的抽象,而对象是类的具体实现。

在C++中要使用一个类,首先要定义一个类。

定义类

定义类和声明结构体的结构是相似的。

定义结构体


struct Student{
    char name[128];
    int age;
    char add[128];
};

类的定义格式


class 类名{
    private:
        成员数据;
        成员函数;
    public:
        成员数据;
        成员函数;
    protected:
        成员数据;
        成员函数;
};

private,public,protected这3个限定符就不介绍了
建议把:
public放前面
private放最后

别忘了最后的分号哦。
struct默认是public
class默认是private

一个简单的例子

// test.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
using namespace std;

class Student
{
public:
    void print()
    {
        cout <<  age  << endl;
    }
    int getAge();
private:
    char name[128] ;
    int age = 20;
    char addr[128] ;
};
inline int Student::getAge(){
    return age;
}

int _tmain(int argc, _TCHAR* argv[])
{
    Student stu;
    stu.print();
    stu.getAge();
    getchar();
    return 0;
}

类和对象的使用

对象成员的引用

程序中访问对象成员有以下三种方法:
1、通过对象名和成员访问运算符”.”来访问
2、通过指向对象的指针来访问
3、通过引用来访问

    Student stu;
    //通过对象名和成员访问运算符"."来访问  
    stu.print();
    stu.getAge();
    //通过指向对象的指针来访问  
    Student *p = &stu;
    p->print();
    p->getAge();

    //通过引用来访问  
    Student &s = stu;//表明s是stu的别名
    s.print();
    s.getAge();

类声明和成员函数实现的分离

类的定义和成员函数的实现一般不放在一起,而是放在不同的文件中。

一般来说,在大型项目中,将类的声明放在单独的头文件中,一般以类名命名。
成员函数的实现放在该类对应的cpp文件中。
这样就将类的声明和实现进行了分离.

如果需要使用某个对象,直接引用那个对象声明的头文件即可,而不需要再重复声明了!

这样工程的结构就清晰很多了。

这章很简单,没多少要写的,你有语言基础的话,这章用个5分钟就可以过了~~
这里我写了2个例子

源代码下载地址:

GITHUB源码下载地址: 点我进行下载

本文章由[谙忆]编写, 所有权利保留。
欢迎转载,分享是进步的源泉。

转载请注明出处:http://chenhaoxiang.cn

本文源自人生之旅_谙忆的博客

目录
相关文章
|
4天前
|
存储 编译器 C语言
c++的学习之路:5、类和对象(1)
c++的学习之路:5、类和对象(1)
19 0
|
4天前
|
C++
c++的学习之路:7、类和对象(3)
c++的学习之路:7、类和对象(3)
19 0
|
3天前
|
设计模式 Java C++
【C++高阶(八)】单例模式&特殊类的设计
【C++高阶(八)】单例模式&特殊类的设计
|
3天前
|
编译器 C++
【C++基础(八)】类和对象(下)--初始化列表,友元,匿名对象
【C++基础(八)】类和对象(下)--初始化列表,友元,匿名对象
|
7天前
|
存储 安全 C语言
【C++】string类
【C++】string类
|
存储 编译器 Linux
标准库中的string类(中)+仅仅反转字母+字符串中的第一个唯一字符+字符串相加——“C++”“Leetcode每日一题”
标准库中的string类(中)+仅仅反转字母+字符串中的第一个唯一字符+字符串相加——“C++”“Leetcode每日一题”
|
9天前
|
编译器 C++
标准库中的string类(上)——“C++”
标准库中的string类(上)——“C++”
|
29天前
|
存储 C++ 容器
C++入门指南:string类文档详细解析(非常经典,建议收藏)
C++入门指南:string类文档详细解析(非常经典,建议收藏)
38 0
|
29天前
|
存储 编译器 C语言
C++入门: 类和对象笔记总结(上)
C++入门: 类和对象笔记总结(上)
34 0
|
9天前
|
编译器 C++
自从学了C++之后,小雅兰就有对象了!!!(类与对象)(中)——“C++”
自从学了C++之后,小雅兰就有对象了!!!(类与对象)(中)——“C++”