//一、结构体:自定义的数据类型
struce student{
int number;
char name[100];
}
void func(student &tmpstu){ //将形参变成了引用
void func(student tmpstu){ //这里只是形参赋值,发生了内存拷贝
tmpstu.number = 2000;
strcpy_s(student.name,sizeof(student.name,"who"))
return;
}
int main(){
student student1;
student.number = 1001;
strcpy_s(student.name,sizeof(student.name),"zhangsan");
cout<<student.number<<endl;
cout<<student.name<<endl;
func(student1); //效率低,因为实参传递给形参时发生了内存的拷贝
cout<<student.number<<endl; //值没有被函数改变
cout<<student.name<<endl; //值没有被函数改变
}
//用指向结构体的指针做函数参数
void func(student *ptmpstu){
tmpstu->number = 2000;
strcpy_s(student->name,sizeof(student->name,"who")) //->指向运算符
return;
}
func(&student)
--------------------
//利用指针访问对象
int val = 10; //初始化一个int对象,并赋值
int *p = &val; //创建一个int的指针对象并指向val对应的地址
cout<<*p<<endl; //输出由符号*得到指针p所指向的对象
--------------------------------
C++和C的结构体的区别:C++可以在结构体中添加方法(C中只能添加成员变量)
-------------------------------------------
2.权限修饰符:public和private权限修饰符
public:公共的意思,用这个修饰结构/类中的成员变量/成员函数,就可以被外界访问
private:私有的意思,用这个修饰符,用这个修饰结构/类中的成员变量/成员函数
class student{
struct student{
public: //结构成员缺省都有public属性,所以可以不加public
int number;
private: //只能在结构体或类中调用
char name[100];
}
类简介:类是用户自定义的数据类型
结构体和类的区别:1.只有C++中才有类这个概念;2.结构用struct,类用class关键字;3.定义一个属于该结构体的变量称之为结构变量,定义一个类的变量称之为对象
结构体和类非常类似,区别有两点:
1.C++结构内部的成员变量和函数的默认访问级别都是public,类内部的成员变量和函数的默认访问级别都是private。
2.结构体继承默认的是public,而C++类的继承默认是private。
类的组织、书写规范:
//类的定义代码会放在一个.h头文件中,头文件名可以和类名相同
//类的具体实现代码,放在一个cpp文件中
原文:https://www.cnblogs.com/cy2837/p/12203396.html