自学内容网 自学内容网

【C++】C与C++基本区别以及构造函数

一、C与C++的区别

1.C是面向底层的编程思想
   C++是面向对象的编程思想

2.C++的面向对象四大特性:封装、继承、多态、抽象


3.C语言stdio:代表标准的输入输出(io)

   C++的iostream与stdio等同

   命名空间:using namespace std;输入输出都定义在这里面

4.C++可以向下兼容,可以包含<stdio.h>头文件
    C++才有:
                        bool类型:true 1    false 0(c语言非零为真,-1也为真,0为假)
                        bool flag=-1;

                        cout<<"flag"<<flag<<endl;//输出1

5.C++中的类与C中的结构体相似,但类中可以声明函数

二、命名空间

可以自己在主函数外面定义:
namespace A
{
        myprint()
        {
            cout<<"a"<<endl;
        }
}

namespace B
{
        myprint()
        {
            cout<<"b"<<endl;
        }
}
    在主函数中使用域运算符::调用

//::域运算符
    A::myprint();

三、构造函数

当类类型变量创建时,自动调用
CUser(int id,char name[20],char pass[20],int r)
{
    user_id=id;
    strcpy(userName,name);
    strcpy(passwd,pass);
    role=r;
}


1.普通变量
//在栈区创建,会自动管理创建,自动释放
CUser user1(1002,"yu","34484",2);

普通变量使用.调用函数
user1.CUserPrint();


2.指针变量
//指针变量动语开辟空间,在堆区创建,需要手动创建、释放(自己管)
    CUser * puser=new CUser(1003,"ai","12345",1);
    //用箭头
    puser->CUserPrint();
    //动态释放开辟出来的空间
    delete puser;

四、析构函数

如果函数声明有指针变量,最好在这里面用delete释放一下

当类的类型变量释放时,自动调用

 ~CUser()
{

}
 


原文地址:https://blog.csdn.net/weixin_74154742/article/details/144252260

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!