C++面向对象--类

1、实例化的两种方式

#include <iostream>

#include<stdlib.h>

using namespace std;

class lio

{

public:

int a=3;

int b=4;

void aa()

{

cout<<a;

}

int bb()

{

return b;

}

};

int main()

{

//栈的方式来实现

lio a;

a.a=33;

a.b=44;

cout<<a.a<<a.bb();

//堆的方式实现

lio *b=new lio();

if(b){

b->a=333;

b->b=222;

cout<<b->a;

b->aa();

b->bb();

}

return 0;

}

2、String 类型 和js中的 Array一样

#include<string>

int main()

{

string a="qweqwe";

cout<<a;

//空值检测

cout<<a.empty()<<endl;

//大小检测

cout<<a.size()<<endl;

//返回第几个

cout<<a[3]<<endl;

//链接

cout<<a+a;

//错误链接方式

//cout<<"hello"+<<"world";

return 0;

}

//输入检测程序

int main()

{

string name;

cout<<"please input you name.."<<endl;

cin>>name;

if(name.empty()){

cout<<"please input again..";

system("pause");

return 0;

}else

{

cout<<name<<endl;

cout<<name[0]<<name.size()<<name+"爱三妹";

}

return 0;

}

3、数据的封装

#include <iostream>

#include<stdlib.h>

#include<string>

using namespace std;

class lio

{

public:

int a=3;

int b=4;

void setname(string m_strname)// c++形参里边要定义好数据类型

{

name=m_strname;

}

string getname()

{

return name;

}

private:

int age=22;

string name;

};

int main()

{

lio a;

a.setname("lio");//注意加引号

cout<<a.getname();

delete a;//勿忘

Str=NULL;

return 0;

}

4、类内定义和内联函数与类外定义

#include <iostream>

#include<stdlib.h>

#include<string>

using namespace std;

//内联函数

inline void lio(string name)

{

cout<<name+"爱三妹"<<endl;

};

//类内定义

class li

{

public:

int a=5;

void san(string name)

{

cout<<"我是三妹"+name;

};

int ss(int num);

private:

int b=2;

};

//类外定义

int li::ss(int num)

{

return num;

};

int main()

{

li asd;

asd.ss(123);

lio("lio");

return 0;

}

把头文件放在头文件的文件夹内,用.h来命名,函数实现部分放到主函数文件的同一个文件夹内,再把头文件 引进去 include,添加头部以及命名空间即可

5、构造函数

#include <iostream>

#include<stdlib.h>

#include<string>

using namespace std;

class lio

{

public:

lio()

{

cout<<"start"<<endl;

};

lio(int a)

{

cout<<a;

}

};

int main()

{

lio a;

lio b(12);

return 0;

}//构造函数支持重载

构造函数有默认参数的构造函数叫做默认构造函数

6、初始化列表

7、拷贝构造函数

Student(const Student &stu){ }

及发生在对象=的时候,就会触发拷贝构造函数

#include <iostream>

#include<stdlib.h>

#include<string>

using namespace std;

class student

{

public:

student()

{

cout<<"gou zao han shu";

};

student(const student &stu)

{

cout<<"kao bei gou zao han shu ";

};

};

int main()

{

student aa;

student bb(aa);

student cc=aa;

return 0;

}

//拷贝构造函数没有重载

8、析构函数

释放掉对象里的指针对象变量,释放资源,不可能重载

#include <iostream>

#include<stdlib.h>

#include<string>

using namespace std;

class student

{

public:

student()

{

cout<<"gou zao han shu";

};

student(const student &stu)

{

cout<<"kao bei gou zao han shu ";

};

~student()

{

cout<<"say goodbye"<<"\n";

delete []p;

}

private:

char *p;

};

int main()

{

student aa;

student nn=aa;

student *bb=new student();

delete bb;

return 0;

}

9、对象=成员变量(const  )

成员函数

10、命名空间

using namespace std;//设置默认命名空间

namespace lio

{

int a=123;

}

cout<<lio::a<<endl;

11、待续

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-01 12:23:50

C++面向对象--类的相关文章

Php面向对象 – 类常量

类常量:类中,保存运行周期内,不变的数据. 定义: const关键字 const 常量名 = 常量值 例子: class Student { public  $stu_id; public  $stu_name; public  $stu_gender; const  GENDER_MALE = '男'; const  GENDER_FEMALE = '女'; } 类常量不受访问限定修饰符的限制 访问: 类::常量名 例子: class Student { public  $stu_id; pu

《转》面向对象类设计原则

面向对象类的设计原则 1                 SRP(单一职责原则) 这个原则看起来很简单,就是说一个类只能承担一个职责. 但这里有一个关键:"职责"是如何理解的? 按照汉语的理解,职责其实分为两部分:"职"和"责"."职"就是这个类是什么,而"责"就是这个类要干什么. 举个例子来说:Door是一个对象,那么它的"职"就是门,"责"就是"开门.关

php面向对象类中常用的魔术方法

php面向对象类中常用的魔术方法 1.__construct():构造方法,当类被实例化new $class时被自动调用的方法,在类的继承中可以继承与覆盖该方法,例: //__construct() class construct{ public function __construct(){ $this->var = "this is var"; } } class con2 extends construct{ public function __construct(){ $

面向对象类成员

面向对象类成员:字段,方法,属性 一.字段: 举个例子: class Foo: def __init__(self, name): self.name = name 其中的self.name就是字段,不过这是一个普通的字段,保存在对象中,可以通过对象去访问例如: 1 obj = Foo("DJC") 2 print(self.name) 3 4 >>>DJC 除了普通字段还有静态字段来看以下代码: class Foo: s = 123 def __init__(sel

Java基础知识:面向对象&类图

类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称.在系统中,每个类都具有一定的职责,职责指的是类要完成什么样的功能,要承担什么样的义务.一个类可以有多种职责,设计得好的类一般只有一种职责.在定义类的时候,将类的职责分解成为类的属性和操作(即方法).类的属性即类的数据职责,类的操作即类的行为职责.设计类是面向对象设计中最重要的组成部分,也是最复杂和最耗时的部分. 1.面向对象特性 1)抽象 2)继承 3)封装 4)多态 2.类图: 在软件系统

Java面向对象-类与对象

Java面向对象-类与对象 类与对象的关系 我们通俗的举个例子,比如人类是一种类,张三这个人就是人类的具体的一个个体,也就是java中的对象:这就是一个类与对象的关系: 类的定义 下面看实例 类的创建和使用 看下面实例 我们在com.java1234.chap03.sec01包下新建一个Person类 1 package com.java1234.chap03.sec01; 2 3 /** 4 * Person类 文件名和类名必须一致 5 * @author user 6 * 7 */ 8 pu

面向对象 类和对象

//面向对象     类     对象 //类是对象的抽象化//对象是类的实例化 class Ren{ //成员变量 var $tpo; var $zhong; var $name; var $sex; //成员方法 function Eat() { echo "正在用手吃饭";  } function Run() {  echo "跑的很快"; }} //实例化对象$r=new Ren();$r->name="张三";echo $r-&g

图解Python 【第五篇】:面向对象-类-初级基础篇

由于类的内容比较多,分为类-初级基础篇和类-进阶篇 类的内容总览图: 本节内容一览图: 今天只讲类的基础的面向对象的特性 前言总结介绍: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个"函数"供使用(可以讲多函数中公用的变量封装到对象中) 对象,根据模板创建的实例(即:对象),实例用于调用被包装在类中的函数,对象是一个类的实例 实例(instance):一个对象的实例化实现. 标识(identity):每个对象的实例都需要一个可

C#编程语言与面向对象——类与对象

由于ASP.NET技术是全面向对象的,因此,要掌握这一技术,必须具备有扎实的面向对象理论基础 使用C#编程,所有的程序代码几乎都放在类中,不存在独立于类中之外的函数,因此,类是面向对象编程的基本单元 在绝大多数面向对象语言中,一个类都可以包含两种成员:字段和方法.字段与方法这两个概念是面向对象理论的术语,是通用与各种面向对象语言的.而在各种的具体面向对象语言(比如C#)中,可以简单地理解: 字段及变量,方法及函数. C#编程语言与面向对象--类与对象

Java面向对象——类的成员

Java面向对象——类的成员 摘要:本文主要介绍了类的常见成员. 属性 属性称为成员变量,一般来讲不用赋值,因为有默认值,另外显式赋值没有意义会导致所有由此类创建对象都是此值. 默认值 Boolean类型成员变量的默认值是false. Int类型成员变量的默认值是0. Double类型成员变量的默认值是0.0. String类型成员变量的默认值是null. Char类型成员变量的默认值是\u0000. 类变量 类变量也称为静态变量,在类中以static关键字声明,但必须在方法构造方法和语句块之外