一、c声明变量
c语言中,声明变量需要指定变量的类型,在变量名前添加数据类型。如:
int a;
float b;
char c;
在C++中,与C语言相同,变量的声明同样需要指定类型,但更支持各种自定义类型的声明。如:
#include <iostream>
using namespace std;
struct Student {
int id;
string name;
int age;
};
int main() {
int a;
float b;
char c;
Student stu;
return 0;
}
二、c声明两个变量值相同
在C语言中,如需将一个变量赋值给另一个变量,需要这样写:
int a = 1;
int b = a;
而在C++中,可以这样写:
int a = 1;
int b{ a };
三、c声明赋值
C语言中,为变量赋值需要使用赋值符(=)。如:
int a;
a = 10;
而在C++中,可以在声明时进行初始化赋值。如:
int a = 10;
也可以使用赋值符(=)进行赋值。如:
int a;
a = 10;
四、声明抽象类的引用并将c赋给a
在C++中,可以使用纯虚函数实现抽象类。如:
class Shape {
public:
virtual void show() = 0;
};
class Circle : public Shape {
public:
void show() override {
cout << "This is a circle." << endl;
}
};
int main() {
Shape* c = nullptr;
Circle circle;
c = &circle;
return 0;
}
在上面的例子中,声明一个抽象类Shape,并生成一个Circle派生类。将Circle的指针赋值给Shape指针c,以此完成将c赋给a的过程。
五、c声明对象
C语言中没有对象的概念,但C++中支持面向对象编程,可以定义类和对象。如:
#include <iostream>
using namespace std;
class Student {
public:
string name;
int age;
void showInfo() {
cout << "Name: " << name << " Age: " << age << endl;
}
};
int main() {
Student stu;
stu.name = "Tom";
stu.age = 18;
stu.showInfo();
return 0;
}
在上面的例子中,定义一个Student类,类中包含姓名和年龄两个属性以及打印信息的方法showInfo()。在main函数中声明一个stu对象,并对其属性进行赋值,最后打印出对象的信息。
六、c声明string长度
在C语言中不支持字符串类型,需要使用字符数组来表示。可以通过strlen()函数获取字符串长度。如:
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello World";
int len = strlen(str);
printf("String length is %d.\n", len);
return 0;
}
而在C++中,可以使用string类型来表示字符串,并使用其内置函数size()获取长度。如:
#include <iostream>
using namespace std;
int main() {
string str = "Hello World";
int len = str.size();
cout << "String length is " << len << "." << endl;
return 0;
}
七、c声明字符串
C语言中,字符串是字符数组,可以使用字符串字面量来初始化。
char str[] = "Hello World";
在C++中,可以使用string类型来表示字符串,可以使用字符串字面量或构造函数进行初始化。如:
string str1 = "Hello World";
string str2("Hello World");
八、c声明结构体
C语言中,声明结构体需要使用关键字struct。如:
struct Student {
int id;
char name[20];
int age;
};
在C++中,可以在struct关键字前添加类关键字class。如:
class Student {
public:
int id;
string name;
int age;
};
九、c声明定义
C语言中,声明变量需要在前面添加关键字extern。如:
extern int a;
同样,在C++中也可以使用关键字extern进行声明,但其默认为外部链接。如:
extern int a;
int main() {
a = 10;
return 0;
}
此时,a变量已在其他地方定义。
十、c声明外部变量
C语言中,使用关键字extern声明外部变量。如:
extern int a;
在C++中同样可以使用关键字extern声明外部变量,但它与C语言中的用法有所不同。如: 在test.cpp文件中定义一个变量a:
int a = 10;
在main.cpp文件中使用变量a:
#include <iostream>
extern int a;
int main() {
std::cout << "a=" << a << std::endl;
return 0;
}
需要在main.cpp中使用extern关键字声明变量a,以便编译器在链接时能够找到该变量的定义。