一、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,以便编译器在链接时能够找到该变量的定义。