首页 > 其他分享 >头文件和类的声明

头文件和类的声明

时间:2023-10-24 18:57:03浏览次数:42  
标签:__ 头文件 函数 int C++ complex include 声明

1. C vs C++ 关于数据和函数

  • C
    • Data
    • Functions
    • 对于C来说,数据大部分情况是所有函数都可以访问的,这样对程序来说会变得很混乱
  • C++
    • Data Members
    • Member Functions
    • 对于C++来说,数据和函数封装在一起形成类,可以设定为数据只能让类里的函数访问,具有良好的组织性

2. C++ 关于数据和函数

  • 不带指针 Complex
    • 成员
      • 成员变量:实部、虚部
      • 成员函数:加、减、乘、除、共轭、正弦...
    • 初始方式
      • complex c1(2,1);
      • complex c2;
      • complex *pc = new complex(0,1);
  • 带指针 String
    • 成员
      • 成员变量:字符(s):其实是个ptr,指向一串字符
      • 成员函数:拷贝、输出、附加、插入
    • 初始方式
      • string s1("hello ");
      • string s2("world ");
      • string *ps = new string;

3. Object Based 基于对象 vs Object Oriented 面向对象

  • Object Based:面对的是单一class的设计
  • Object Oriented:面对的多重classes的设计,classes和classes之间的关系

4. C++ programs代码基本形式

ex.main()Classed
Declaration
(声明)
Standard
Library
(标准库)
 #include <iostream.h>
.h (header files).cpp.h (header files) #include <iostream.h>

延伸文件名(extension file name)不一定是.h或者.cpp
也可能是.hpp或者其他或者甚至无延伸名

5. Output C++ vs C

  • C++
    #include <iostream.h> // #include <iostream>
    using namespace std;
    int main()
    {
        int i =7;
        cout << "i=" << i << endl;
        return 0;
    } 
    
  • C
    #include <stdio.h> // #include <cstdio>
    
    int main()
    {
        int i = 7;
        printf("i=%d\n",i);
        return 0;
    }
    

6. Header(头文件)的防重复声明

  • complex.h

    #ifndef __COMPLEX__
    #define __COMPLEX__
    
    ...
    
    #endif
    
  • complex-test.cpp

    #include <iostream>
    #include "complex.h"
    using namespace std;
    
    int main()
    {
        complex c1(2,1);
        complex c2;
        cout << c1 << endl;
        cout << c2 << endl;
        
        c2 = c1 + 5;
        c2 = 7 + c1;
        c2 = c1 + c2;
        c2 += c1;
        c2 += 3;
        c2 = -c1;
            
        cout << (c1 == c2) << endl;
        cout << (c1 != c2) << endl;
        cout << conj(c1) <<endl;
        return 0;
    }
    
    

标签:__,头文件,函数,int,C++,complex,include,声明
From: https://www.cnblogs.com/staraire/p/17785511.html

相关文章

  • @Transactional:声明式事务管理,保证数据一致性
    一、介绍通过使用@Transactional注解,我们可以更加方便地管理事务,保障数据的一致性和可靠性。在实际项目中,合理使用@Transactional注解可以提高「开发效率」和代码「可维护性」。二、用法@Transactional(rollbackFor=Exception.class)publicResponseDTO<String>update(No......
  • [侯捷_C++面向对象高级开发_上] 2 头文件和类的声明
    1.CvsC++关于数据和函数CDataFunctions对于C来说,数据大部分情况是所有函数都可以访问的,这样对程序来说会变得很混乱C++DataMembersMemberFunctions对于C++来说,数据和函数封装在一起形成类,可以设定为数据只能让类里的函数访问,具有良好的组织性2.C++关于数......
  • jenkins 原理篇——pipeline流水线 声明式语法详解
    大家好,我是蓝胖子,相信大家平时项目中或多或少都有用到jenkins,它的piepeline模式能够对项目的发布流程进行编排,优化部署效率,减少错误的发生,如何去写一个pipeline脚本呢,今天我们就来简单看看pipeline的语法。先拿一个helloworld的pipeline脚本举例,我们来看看pipeline脚本的组成......
  • Map声明、元素访问及遍历、⼯⼚模式、实现 Set - GO语言从入门到实战
    Map声明、元素访问及遍历-GO语言从入门到实战Map声明的方式m:=map[string]int{"one":1,"two":2,"three":3} //m初始化时就已经设置了3个键值对,所以它的初始长度len(m)是3。m1:=map[string]int{}//m1被初始化为一个空的map,然后通过m1["one"]=1添加了一个键值......
  • OpenCV4.1.0编译时提示“CV_BGR2GRAY”: 未声明的标识符
    OpenCV版本为4.1.0使用CV_BGR2GRAY时报错:“CV_BGR2GRAY”:未声明的标识符解决方法一:添加头文件:#include<opencv2/imgproc/types_c.h>解决方法二:在新版本中,CV_BGR2GRAY被COLOR_BGR2GRAY替换,只需将CV改成COLOR即可。翻译搜索复制......
  • let 和 var声明变量的区别
    1、能否重复声明变量使用var可以重复声明一个变量,且不会报错,这样极有可能覆盖之前已经存在的变量,但是let重复声明变量时,编译时就会提示错误,避免因为变量重复声明而导致的错误,且无法定位到错误原因,这使得在后期代码调试和纠错上,大大的增加了工作难度leta=200;leta=300;......
  • 无涯教程-Arduino - 函数声明
    函数允许按代码段构造程序以执行单独的任务,创建函数的典型情况是当一个程序需要在一个程序中多次执行相同的操作时。Arduinosketch或程序中有两个必需的函数,即setup()和loop(),必须在这两个函数的括号之外创建其他函数。定义函数的最常见语法是-函数声明我们可以用两种不同......
  • My头文件(9)
    自定义头文件"almighty.hpp"持续更新almighty.h内部内容:#ifndef_ALMIGHTY_#define_ALMIGHTY_#include<bits/stdc++.h>#definednpRandom_Numbers_Moonspace#definedsmData_Structure_Moonspaceusingnamespacestd;#definesdsigned#defineudunsigne......
  • Spring源码解析——@Transactional注解的声明式事物介绍
    正文面的几个章节已经分析了spring基于@AspectJ的源码,那么接下来我们分析一下Aop的另一个重要功能,事物管理。最全面的Java面试网站事务的介绍1.数据库事物特性原子性多个数据库操作是不可分割的,只有所有的操作都执行成功,事物才能被提交;只要有一个操作执行失败,那么所有的操作......
  • C++声明、定义、初始化
    声明声明可声明多次,而编译器不会为其分配存储空间。目的是为了使编译器知道该标识符所代表的含义及原型所在,文件与文件之间使用关键字extern修饰变量或函数称为声明(引用)可使同工程目录下的变量或函数实现交互说明符+表达式列表定义一般的情况下,把建立空间的声明......