C++ 类(一)

#include <iostream>             // 没有 .h 要注意

using namespace std;            // 告诉编译器的命名空间    using为命名空间的关键词

// 面向对象的三大特征是继承,多态和封装

//自定义一个命名空间
namespace A{
    int x=12;
    void fun(){                     // 方法
         cout<<"namespace A"<<endl;
    }
}
using namespace A;   // 声明命名空间A  行声明了命名空间 A 后, 才能直接使用 fun();否则要写成 A::fun();


/*  class  定义类就像结构体一样,只不过类有方法,可以放函数
*   类中的变量有三种属性  private(私有的数据)     public(公有的数据)          protected(保护的数据)
*   默认不写就是 private属性的
*   类是创建对象的模板,一个类可以创建多个对象
*    cin 和 cout 代替了 scanf 和 printf
*/

/* 创建对象 */
class Dog
{
public:
    string name;        //狗的名字   string 是 C++的数据类型
    int age;            //狗的年龄
    void run(){
        cout<<"狗在跑"<<endl;
    }
private:
    double weight;      // protected和private 在外部是无法访问的
};

/*  */
int main()
{
    // 声明了命名空间的用法
    x=12;
    cout<<"X="<<x<<endl;
    fun();

    // 未声明命名空间的用法
    A::x=14;
    cout<<"X="<<A::x<<endl;
    A::fun();

 // 从栈中示例化对象   对象一般是小写
    Dog dog1;
    dog1.age=12;
    dog1.name="旺财";
    cout << dog1.name << endl;                 // cout输出    cin 输入

 // 从堆中示例化对象  创建要使用new  要是有delete删除    结构体的间接访问  指针创建   ->访问
    Dog *dog2 = new Dog;    // 从堆中实例化对象需要开辟内存,指针会指向那个内存,如果 new 没有申请内存成功, p 即指向 NULL
    dog2->name="花花";
    cout << dog2->name << endl;                 // cout输出    cin 输入
    delete  dog2;                               //删除对象  释放内存,将 dog2 重新指向 NULL
    dog1.run();                                 //使用方法    必须要加类的前缀
    
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值