1. c语言中的“class”是什么意思
C没有class,这是C++中的系统定义类型,是类的意思
2. C语言中的class的应用怎么用
C语言里没有class的概念,你可以写
int class = 0;
而不会有任何报错。
C++是基于C的一种面向对象扩展,它在C原有结构体(struct)的基础上,扩充了struct的功能(增加了成员函数,以及访问控制,继承等),并增加了class这一新定义。实际上class和struct的唯一区别就是:struct中的默认访问控制权限是public,而class的默认访问控制权限是private。
你可以定义一个类C的结构体
struct RecTangle{
int width; int height;
int pos_x; int pos_y;
};
给他添加一些成员函数
struct RecTangle{
int width; int height;
int pos_x; int pos_y;
int Right(); // get right
int Bottom(); // get bottom
int Left(); // get left
int Top(); // get top
};
为了隐藏结构体内的成员,添加访问控制标识:
struct RecTangle{
private:
int width; int height;
int pos_x; int pos_y;
public:
int Right(); // get right
int Bottom(); // get bottom
int Left(); // get left
int Top(); // get top
};
如果用class来代替struct,则需要添加访问控制标识.
比如用class来定义类C结构体
class RecTangle{
public:
int width; int height;
int pos_x; int pos_y;
};
3. c语言中class为什么不是标示符
C语言是面向过程的程序设计语言,不是面向对象的程序语言,所以不存在类(class)这一说法,class 也就不是关键字了
4. 新手关于C语言中类(Classes)的问题,求高手!
#include<iostream>
using namespace std;
class X
{
int x; //定义类X的私有实例成员变量x
public:
X() {x=0;} //默认构造函数(无参数),将x初始化为0
X(int xx) {x=xx;} //重载的构造函数,将x初始化为xx
//虚函数,输出x的值,子类可以覆盖(重写)虚函数,从而实现多态
virtual void prt() {cout<<x;}
};
//类Y公共继承自类X,即Y是X的子类
class Y:public X
{
int y; //定义类Y的私有实例成员变量y
public:
//以下两行都是类Y的构造函数,它们都隐式调用了父类X
//的默认构造函数,以初始化父类的实例成员变量x(都初始化成0了)
Y() {y=0;}
Y(int yy) {y=yy;}
//这是覆盖(重写)父类的虚函数prt
void prt() {cout<<y;}
};
int main()
{
//x(10)会调用带一个参数的构造函数X(int xx),创建一个类X的对象x,
//x的成员变量x初始化为10
//z会调用默认构造函数X(),创建一个类X的对象z,
//z的成员变量x初始化为0
//y(11)会调用带一个参数的构造函数Y(int yy)(Y的),创建一个类Y的对象y,
//y的成员变量y初始化为11,同时通过调用父类X的默认构造函数,
//将父类的成员变量x初始化为0
X x(10),z;Y y(11);
//将x赋给z,调用z的成员函数prt,输出显示10
z=x;z.prt();
//将y赋给z,调用z的成员函数prt,输出显示0,
//因为调用的是父类X的prt,显示的是对象z的成员变量x的值
z=y;z.prt();
//以下新加的会输出显示11,
//因为调用的是子类Y的prt,显示的是对象y的成员变量y的值
y.prt();
cout<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
5. C语言中的class函数有什么用~
Class可以通过extend关键字实现继承。super关键字表示父类的构造函数,用来新建父类的this对象。
子类须在constructor方法中调用super方法,这样才能得到父类的this,否则会报错。这是因为子类自己的this对象,必须先通过父类的构造函数完成塑造,得到与父类同样的实例属性和方法,然后再对其进行加工,加上子类自己的实例属性和方法。
调用函数使用的例子
class A {
constructor() {
console.log(new.target.name);
}
}
class B extends A {
constructor() {
super();
}
}
new A() // A
new B() // B
(5)c语言中的class扩展阅读
实例属性的新写法
class IncreasingCounter {
constructor()
{
this._count = 0;
}
_count = 0; //_count定义在类的最顶层与上面的constructor()写法等价
get value() {
console.log('Getting the current value!');
return this._count;
}
increment()
{
this._count++;
}
}
6. c语言中的class
这都是些宏定义。没什么。和一些条件编译。这些可以不深入的研究,一般你会简单的宏定义就可以了。我想着些Class 开头的都是c++ 程序中找来的吧。这有c++ 中才用到class 类 定义。
你还是学好c 在看c++ 吧。
那没就跟没意义了。在库文件中,这些预编译都是的名字定义都是很古怪的。没什么。这节类似于class 的,你可能想错了。不是C++ 中的 class