IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C++如何创建一个类并引用 -> 正文阅读

[C++知识库]C++如何创建一个类并引用

创建类并引用

学C++也有段时间了,居然不会创建一个完整的类并引用,这怎么行,我研究了不少大佬的资料,自己做个总结,以后忘记了好再看。

首先在vs中先创建一个类文件
右击项目添加类
会生成.cpp文件和.h文件(也就是头文件)在这里插入图片描述

首先打开头文件:
在其中写入以下内容(仅仅作为示范,内容视情况)

#pragma once
#include<string>//string在C++中并不是一个基本类型,而是一个完整的字符串类。要使用需要include其头文件
using std::string; //并且声明使用空间
class liulng
{
private://私有成员变量
	int a = 0;
	string s = { "abcde" };
	int b = 0;
	int c = 0;

public://公有成员方法
	int sum();
	void print();
	void setvalue(int c, int d);
private://作区分设计一个私有成员方法
	int ride();
};

个人理解为私有成员只能通过类内可访问,类外不可访问。友元可访问(类的友元函数是指在类定义的一个普通函数,不是类的成员函数,但是它可以自由地访问类中的私有数据成员)。公有成员类内和类外都可访问。保护的话如果不涉及继承,和私有成员没什么区别,涉及继承的话就太繁杂了,今天不讲(类的特性,封装、继承、多态,我自己现在还不是很清楚,等搞清楚了在写文章记下来)。
然后在cpp文件中实现类中的成员函数:

#include "ClassTest.h"//头文件一定要有
#include<cstdio>
#include<iostream>
#include <string>

using namespace std;

void liulng::setvalue(int c, int d)
{
	this->a = c;
	this->b = d;
	this->c = ride();

}
int liulng::sum()
{
	return a + b;
}
int liulng::ride()
{
	return a * b;
}
void liulng::print()
{
	cout << s << endl;
	cout << c << endl;
}

实现没什么讲的,最基础的加法和乘法。
最后调用,在要调用的cpp文件引用。

#include"headtest.h"
#include "ClassTest.h"
#include<iostream>

using namespace std;
void class_run()//定义一个函数来调用
{
	liulng *a = new liulng();//声明指针变量a来指向声明的类的地址
	a ->setvalue(3, 4);
	int m = 0;
	m = a->sum();
	a->print();
    cout << m << endl;
    ///
    //也可以使用另一种方法声明,不用指针,实现效果相同
    /*
    liulng a;
	a.setvalue(1, 2);
	int m = a.sum();
	a.print();
	cout << m << endl;
	*/
}

int main()
{
	class_run();
	return 0;

成功输出
在这里插入图片描述
后续:
至于为什么类的定义与实现要分开写,还是为了让多个文件使用此头文件,又不引发链接的“multiple definition”,中的来说代码的复用率变高了。而且我记得在C++中,如果函数的声明和调用写在一起会被视为内联函数,指当编译器运行到改函数位置时,它不是去调用该函数,而是将该函数的代码,整段插入到当前位置(这样做的好处是省去了调用的过程,加快程序运行速度)。但由于每当代码调用到内联函数,就需要在调用处直接插入一段该函数的代码,所以程序的体积将增大,内联函数的本质是,节省时间但是消耗空间。在写一些复杂的项目的时候不值得。
ok,就到这。2021.12.16日记。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-18 15:47:14  更:2021-12-18 15:48:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 13:48:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码