1、使用结构体成员变量"."还是“->"的区别?
一般的结构体成员变量访问用"."即可,只用结构体指针访问结构体成员才使用“->"
#include <iostream>
#include<cstring>
using namespace std;
struct Books
{
char title[50];
char author[50];
int book_id;
};
int main()
{
Books book1;
struct Books *book_pointer;
book_pointer = &book1;
strcpy_s(book1.title, "C++ 教程");
strcpy_s(book1.author, "Jim");
book1.book_id = 123;
cout << "书名:" << book1.title << endl;
cout << "书 id:" << book1.book_id << endl;
cout << "指针所指书名:" << book_pointer->title << endl;
}
2、类成员函数可以在类内部声明和定义,也可以在类内部声明类外部使用范围解析运算符“ :: ”定义
类调用共有的成员函数或变量是在对象上使用点运算符"."。
#include<iostream>
using namespace std;
class Box
{
public:
double length;
double width=20;
double height;
double getVolume(void);
void setLength(double len);
void setHeight(double height)
{
this->height = height;
}
private:
};
void Box::setLength(double len)
{
length = len;
}
double Box::getVolume(void)
{
return length * width * height;
}
int main()
{
Box box;
double volume=0;
box.setHeight(5);
box.setLength(30);
volume = box.getVolume();
cout <<"Box长:"<<box.length<<" ,Box体积:" << volume << endl;
return 0;
}