面向对象:封装性+继承性+多态性
C语言中,结构体不能包含函数,而C++可以
对象具有状态(属性)和行为(方法)
#include<iostream.h>
void main(){
int a;
cin>>a;
cout<<a<<endl;//endl(end of line),在输出流中插入一个换行('\n'),并刷新输出缓冲区
}
定义结构体
struct Point{
int x;
int y;
void output(){
cout<<x<<endl<<y<<endl;
}
};
class Point{
private:
int x;
int y;
public:
Point(){
x=0;
y=0;
}
Point(int x,int y=0){
this->x=x;//this指针
this->y=y;
}
void output(){
cout<<x<<endl<<y<<endl;
}
};
void main(){
Point p(5,6);
p.output();
}
class Student{
private:
char *pName;
public:
Student(){
pName=new char[20];
}
~Student(){
delete[]pName;
}
};
在类中定义成员变量时,不能直接给成员变量赋值
析构函数不允许带参,一个类中只有一个析构函数
结构体成员默认公有,而类成员默认私有
函数重载:函数的参数类型/参数个数
C语言中,结构体不能包含函数,而C++可以
对象具有状态(属性)和行为(方法)
#include<iostream.h>
void main(){
int a;
cin>>a;
cout<<a<<endl;//endl(end of line),在输出流中插入一个换行('\n'),并刷新输出缓冲区
}
定义结构体
struct Point{
int x;
int y;
void output(){
cout<<x<<endl<<y<<endl;
}
};
class Point{
private:
int x;
int y;
public:
Point(){
x=0;
y=0;
}
Point(int x,int y=0){
this->x=x;//this指针
this->y=y;
}
void output(){
cout<<x<<endl<<y<<endl;
}
};
void main(){
Point p(5,6);
p.output();
}
class Student{
private:
char *pName;
public:
Student(){
pName=new char[20];
}
~Student(){
delete[]pName;
}
};
在类中定义成员变量时,不能直接给成员变量赋值
析构函数不允许带参,一个类中只有一个析构函数
结构体成员默认公有,而类成员默认私有
函数重载:函数的参数类型/参数个数
本文详细对比了C语言和C++中结构体与类的区别,包括对象的状态、行为以及如何在两种语言中实现这些概念。重点讨论了C语言中结构体的特性,以及C++中引入的类的概念,特别是类的封装性、继承性和多态性。此外,还介绍了在C++中如何定义结构体和类,并通过实例展示了如何使用它们。
1万+

被折叠的 条评论
为什么被折叠?



