c++与C的区别

c与c++基本相同,他们也是兼容的,在c中可以调用C++函数,在c++中也可以调用C的函数

语法
绝对部分关键字for while switch if 


c++与C的区别

  1. 标准输入输出
          cout  输出流,代表显示器的一个流,把数据写入到这个流里面,就相当于写出到显示器上
          <<      流的输入运算符,把数据输入到流里面
           
          endl  一个对象,代表一个换行符   
               “\n” linux  ; "\r\n"  windows

           cin     输入流,代表键盘的一个流,从cin中读数据,就相当于从键盘读数据
          >>      从一个流里面取出数据     cin >> i;

  1. 头文件
          如何使用c库自带的库函数
          #include <stdio.h>          c标准方式
          #include <cstdio>            c++标准方式,推荐

nm     用来查看程序中所有函数(见命令详解笔记)

D:\QQPCmgr\Desktop\C++\lesson1\lesson1\2\debug>nm test.o
00000000 b .bss
00000000 d .data
00000000 N .debug_abbrev
00000000 N .debug_aranges
00000000 N .debug_frame
00000000 N .debug_info
00000000 N .debug_line
00000000 N .debug_loc
00000000 t .text
00000000 T _myswap

在C语言的头文件中加入这个关键字,是为了让c++编译器明确的按照c的规范去调用这个头文件中声明的函数
extern   "C"          
{
    extern void myswap(int *a,  int *b);
}



#ifndef TEST_H
#define TEST_H
 
 
#ifdef  __cplusplus
extern "C"
{
#endif   __cplusplus

    extern   void   myswap ( int   *a ,   int   *b );

#ifdef  __cplusplus
}
#endif
 
 
#endif // TEST_H


int a;               //定义
extern int a;     //声明

  1. 命名空间:可以避免大型软件中函数命名的冲突

          using namespace std;

          
namespace   baidu     //定义命名空间baidu
{
    int a = 20;
 
 
    void test()
    {
        cout << a << endl;
    }
}
namespace   google    //定义命名空间google
{
    int a = 10;
 
 
    void test1()
    {
        cout << a << endl;
    }
}
using   namespace   baidu ;
using   namespace   goole ;

如果没有引入命名空间的话,但是你又要用命名空间里面的变量或者函数,那么就要明确的指定用哪个命名空间的变量,函数
                    baidu::a;               google::a;
                  其中 :: 叫做      域限制符

#include <iostream>

//using namespace std;

namespace baidu
{
    int a = 10;

    void test_baidu()
    {
      std::cout << a << std::endl;
    }
}

namespace  google
{
    int a = 20;

    void test_google()
    {
        std::cout << a << std::endl;
    }
}

//using namespace baidu;
using namespace google;

int main()
{
    int a = 30;
    //test_baidu();
    baidu :: test_baidu();  //a = 10
    test_google();          //a = 20
    std::cout << a << std::endl;      //a = 30

    std::cout << baidu::a << std::endl;
    std::cout << google::a << std::endl;

    return 0;
}

  1. 结构体与类的区别 
              什么是类:     在程序中用来描述一类事物的属性动作。。
                    类里面可以包含成员变量与成员函数
          用类定义一个变量,我们成为类的实例化。这个变量,我们叫做这个类的对象或者实例

作用域:     类声明部分和类的成员函数定义的部分
类内,类外

在类外,类的对象只能访问该类的public区的成员(成员变量和成员函数)

定义类的方法:
 
1.符合c语法 (结构体不是真正的类?)
struct   person     //成员公有
{
     //public:默认
    char name[20];
    int age;
    int weight;
    
    void short()
    {
        cout << "我是" << name << end;
    }
};

2.c++定义方法
class  person     //封装性,,其中的成员私有
{
     public:  //变成公有          ,private:私有默认
    char name[20];
    int age;
    int weight;
    
    void short()
    {
        cout << "我是" << name << end;
    }
};
  

以及public private关键字
          class person        struct person


#include <iostream>
#include <cstring>
using namespace std;

#if 0
struct person

{
    char name[20];
    int age;
    int weight;

    void shout()
    {
        cout << "我是" << name << endl;
    }

    void init()
    {
        strcpy(name, "逍遥硖");
        age = 20;
        weight = 60;
    }
};
#endif

class person
{
public:
    char name[20];
    int age;
    int weight;

    void shout()
    {
        cout << "我是" << name << endl;
    }

    void init()
    {
        strcpy(name, "原始人");
        age = 20;
        weight = 55;
    }
private:
    void test()
    {
        init();
    }
};
int main()
{
    //struct person p = {"逍遥硖", 20, 60};  //  C

  // struct person p;
    person p;

    p.init();
    p.shout();

    cout << p.name << endl;
    cout << p.age << endl;
    p.weight = 60;
    cout << p.weight << endl;

//  p.test();  //因为test是私有成员

    return 0;
}




待完善。。。。。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值